RELOADER
This chart has been DEPRECATED. Please use the Chart found here instead.
A Kubernetes controller to watch changes in ConfigMap and Secrets and then restart pods for Deployment, StatefulSet and DaemonSet
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
kind: Deployment
metadata:
annotations:
configmap.reloader.stakater.com/reload: "foo-configmap"
spec:
template:
metadata:
Use comma separated list to define multiple configmaps.
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
kind: Deployment
metadata:
annotations:
secret.reloader.stakater.com/reload: "foo-secret"
spec:
template:
metadata:
Use comma separated list to define multiple secrets.
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
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.
helm install stable/reloader --set reloader.watchGlobally=false --namespace test
Help
Documentation
You can find more documentation here
Have a question?
File a GitHub issue, or send us an email.
Talk to us on Slack
Join and talk to us on Slack for discussing Reloader
Contributing
Bug Reports & Feature Requests
Please use the issue tracker to report any bugs or file feature requests.
Developing
PRs are welcome. In general, we follow the "fork-and-pull" Git workflow.
- Fork the repo on GitHub
- Clone the project to your own machine
- Commit changes to your own branch
- Push your work back up to your fork
- 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.
License
Apache2 © Stakater
About
Reloader is maintained by Stakater. Like it? Please let us know at hello@stakater.com
See our other projects or contact us in case of professional services and queries on hello@stakater.com


