# ![](https://raw.githubusercontent.com/stakater/Reloader/master/assets/web/reloader-round-100px.png) RELOADER > This chart has been **DEPRECATED**. Please use the Chart found [here](https://github.com/stakater/Reloader#helm-charts) instead. A Kubernetes controller to watch changes in ConfigMap and Secrets and then restart pods for Deployment, StatefulSet and DaemonSet [![Get started with Stakater](https://stakater.github.io/README/stakater-github-banner.png)](http://stakater.com/?utm_source=Reloader&utm_medium=github) ## Problem We would like to watch if some change happens in `ConfigMap` and/or `Secret`; then perform a rolling upgrade on relevant `Deployment`, `Deamonset` and `Statefulset` ## Solution Reloader can watch changes in `ConfigMap` and `Secret` and do rolling upgrades on Pods with their associated `Deployments`, `Deamonsets` and `Statefulsets`. ## How to use Reloader ### Configmap For a `Deployment` called `foo` have a `ConfigMap` called `foo-configmap`. Then add this annotation to main metadata of your `Deployment` ```yaml kind: Deployment metadata: annotations: configmap.reloader.stakater.com/reload: "foo-configmap" spec: template: metadata: ``` Use comma separated list to define multiple configmaps. ```yaml kind: Deployment metadata: annotations: configmap.reloader.stakater.com/reload: "foo-configmap,bar-configmap,baz-configmap" spec: template: metadata: ``` ### Secret For a `Deployment` called `foo` have a `Secret` called `foo-secret`. Then add this annotation to main metadata of your `Deployment` ```yaml kind: Deployment metadata: annotations: secret.reloader.stakater.com/reload: "foo-secret" spec: template: metadata: ``` Use comma separated list to define multiple secrets. ```yaml kind: Deployment metadata: annotations: secret.reloader.stakater.com/reload: "foo-secret,bar-secret,baz-secret" spec: template: metadata: ``` ## Usage The following quickstart let's you set up Reloader quickly: Update the `values.yaml` and set the following properties | Key | Description | Default Value | |--------------------------------------|-----------------------------------------------------------------------------|------------------------------------| | global.imagePullSecrets | Reference to one or more secrets to be used when pulling images | `[]` | | reloader.watchGlobally | Option to watch configmap and secrets in all namespaces | `true` | | reloader.matchLabels | Additional match Labels for selector | `{}` | | reloader.deployment.annotations | Annotations for deployment | `{}` | | reloader.deployment.labels | Labels for deployment | `provider` | | reloader.deployment.image.name | Image name for reloader | `stakater/reloader` | | reloader.deployment.image.tag | Image tag for reloader | `v0.0.29` | | reloader.deployment.image.pullPolicy | Image pull policy for reloader | `IfNotPresent` | | reloader.deployment.env.open | Additional key value pair as environment variables | `` | | reloader.deployment.env.secret | Additional Key value pair as environment variables. It gets the values based on keys from default reloader secret if any | `` | | reloader.deployment.env.field | Additional environment variables to expose pod information to containers. | `` | | reloader.deployment.affinity | Optional node affinity for pod assignment | `{}` | | reloader.deployment.nodeSelector | Optional node labels for pod assignment | `{}` | | reloader.deployment.securityContext | Defines deployment security context | `{}` | | reloader.deployment.tolerations | Optional tolerations for pod assignment | `{}` | | reloader.isOpenshift | Optional flag if we are using Openshift for additional permissions | `false` | | reloader.ignoreSecrets | Ignores secrets tracking | `false` | | reloader.ignoreConfigMaps | Ignores configmap tracking | `false` | | reloader.rbac.enabled | Option to create rbac | `true` | | reloader.rbac.labels | Additional labels for rbac | `{}` | | reloader.serviceAccount.create | Option to create serviceAccount | `true` | | reloader.serviceAccount.name | Name of serviceAccount | `reloader` | | reloader.custom_annotations | Optional flags to pass to the Reloader entrypoint | `{}` | ## Deploying to Kubernetes You can deploy Reloader by following methods: ### Helm Charts if you have configured helm on your cluster, you can add reloader to helm from public chart repository and deploy it via helm using below mentioned commands ```bash helm repo add stable https://kubernetes-charts.storage.googleapis.com/ helm repo update helm install stable/reloader ``` **Note:** By default reloader watches in all namespaces. To watch in single namespace, please run following command. It will install reloader in `test` namespace which will only watch `Deployments`, `Deamonsets` and `Statefulsets` in `test` namespace. ```bash helm install stable/reloader --set reloader.watchGlobally=false --namespace test ``` ## Help ### Documentation You can find more documentation [here](https://github.com/stakater/Reloader/tree/master/docs) ### Have a question? File a GitHub [issue](https://github.com/stakater/Reloader/issues), or send us an [email](mailto:stakater@gmail.com). ### Talk to us on Slack Join and talk to us on Slack for discussing Reloader [![Join Slack](https://stakater.github.io/README/stakater-join-slack-btn.png)](https://stakater-slack.herokuapp.com/) [![Chat](https://stakater.github.io/README/stakater-chat-btn.png)](https://stakater.slack.com/messages/CC5S05S12) ## Contributing ### Bug Reports & Feature Requests Please use the [issue tracker](https://github.com/stakater/Reloader/issues) to report any bugs or file feature requests. ### Developing PRs are welcome. In general, we follow the "fork-and-pull" Git workflow. 1. **Fork** the repo on GitHub 2. **Clone** the project to your own machine 3. **Commit** changes to your own branch 4. **Push** your work back up to your fork 5. Submit a **Pull request** so that we can review your changes NOTE: Be sure to merge the latest from "upstream" before making a pull request! ## Changelog View our closed [Pull Requests](https://github.com/stakater/Reloader/pulls?q=is%3Apr+is%3Aclosed). ## License Apache2 © [Stakater](http://stakater.com) ## About [Reloader](https://github.com/stakater/Reloader) is maintained by [Stakater][website]. Like it? Please let us know at See [our other projects][community] or contact us in case of professional services and queries on [website]: http://stakater.com/ [community]: https://github.com/stakater/