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

# Kubernetes

<Steps>
  <Step>
    Create a Kubernetes `Deployment` manifest. Replace `<VERSION>` with the desired version:

    ```yaml theme={"system"}
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: decentralized-feeder
      namespace: default
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: decentralized-feeder
      template:
        metadata:
          labels:
            app: decentralized-feeder
        spec:
          containers:
          - name: feeder-container
            image: diadata/decentralized-feeder:<VERSION>
            env:
            - name: PRIVATE_KEY
              valueFrom:
                secretKeyRef: {key: private_key_secret, name: private_key_secret}
            - name: NODE_OPERATOR_NAME
              value: ""
            - name: DEPLOYED_CONTRACT
              value: ""
            - name: CHAIN_ID
              value: ""
            - name: EXCHANGEPAIRS
              value: ""
            - name: PUSHGATEWAY_URL
              value: ""
            - name: PUSHGATEWAY_USER
              value: ""
            - name: PUSHGATEWAY_PASSWORD
              value: ""
            - containerPort: 8080
    ```

    For additional environment variable configurations, refer to [Adding Exchange Pairs](https://github.com/diadata-org/decentral-feeder/wiki/Adding-exchange-pairs) and [Watchdog environment variables](https://github.com/diadata-org/decentral-feeder/wiki/Enabling-watchdogs).
  </Step>

  <Step>
    Run the feeder with `DEPLOYED_CONTRACT` set to an empty string (`""`) in the Kubernetes manifest.

    ```bash theme={"system"}
    kubectl apply -f deployment.yaml
    ```
  </Step>

  <Step>
    Monitor the logs for the deployed contract address. See the expected logs [here](/how-to-guides/run-a-feeder/setting-up-the-node/docker-compose#retrieve-deployed-contract).

    ```bash theme={"system"}
    kubectl logs <pod-name>
    ```
  </Step>

  <Step>
    Update the `DEPLOYED_CONTRACT` value in the manifest with the retrieved contract address.
  </Step>

  <Step>
    Apply the updated manifest:

    ```
    kubectl apply -f deployment.yaml
    ```
  </Step>
</Steps>
