# Adding a new static pod 1. Add your template manifest and config files to the [`templates`](templates) sub-packages ([more info](templates/README.md)). 2. Add an environment variable that references your static pod image to the nodeagent [`daemonset-patch.yaml`](../../../../../../../../config/pallets/sds/nodeagent/dsds/daemonset-patch.yaml). e.g. ``` env: // Other environment variables - name: MY_STATIC_POD_IMAGE value: bzl://cmd/sds/path/to/mystaticpod:container_push ``` 3. Add an init container that references your static pod image to the nodeagent [`daemonset-patch.yaml`](../../../../../../../../config/pallets/sds/nodeagent/dsds/daemonset-patch.yaml). The command for this init container should be something that does minimal work and exits quickly, such as a `version` sub-command that prints out the version and exits. The purpose of this init container is to ensure your static pod's image is pulled down to the node, since static pods don't have the pull secret available to pull images from the private repository. e.g. ``` initContainers: // Other init containers - name: my-static-pod-image-init image: bzl://cmd/sds/path/to/mystaticpod:container_push args: ['version'] ``` 4. Map your image environment variable key to your manifest by adding a key mapping to the `imageKeys` map in [`pkg/render/images.go`](pkg/render/images.go) ([more info](pkg/render/README.md#defining-image-digest-locations)) 5. Add any required parameters that you may need that are not already present ([more info](pkg/render/README.md#adding-additional-parameters)).