> ## Documentation Index
> Fetch the complete documentation index at: https://docs.localops.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Environment Variables

You can dynamically configure your application by passing environment variables to the container hosting your
application image by adding them to the pod template specification in your Helm chart.

```yaml theme={null}
apiVersion: apps/v1
kind: Deployment
metadata:
  name: acme-api-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: acme-api
  template:
    metadata:
      labels:
        app: acme-api
    spec:
      containers:
        - name: api-container
          image: public.ecr.aws/ach42q1u/acme-api:1.0.0
          ports:
            - containerPort: 8080
          env:
            - name: APP_PORT
              value: '8080'
            - name: DB_USER
              value: '{{ .Values.db.user }}'
            - name: DB_PASS
              value: '{{ .Values.db.pass }}'
            - name: DB_HOST
              value: '{{ .Values.db.host }}'
            - name: DB_PORT
              value: '{{ .Values.db.port }}'
```

You can set the values for these environment variables directly, such as `APP_PORT` in this example.

You can also use Helm values to customize your application's configuration for each environment you wish to create.

```yaml theme={null}
db:
  host: postgres-service
  user: postgres
  pass: postgres
  port: 5432
```

The environment variables `DB_USER`, `DB_PASS`, `DB_HOST`, and `DB_PORT` are set dynamically during each deployment.
