Reloader
Reloader
Cluster utility that automatically rolls a Deployment/StatefulSet when a ConfigMap or Secret it references changes. Without it, editing a mounted ConfigMap or Secret doesn’t restart the pods consuming it — they keep running with the old values until something else triggers a restart.
Deployment
Installed from the upstream manifest directly (not Helm) as reloader-reloader in the default namespace:
1
kubectl apply -f https://raw.githubusercontent.com/stakater/Reloader/master/deployments/kubernetes/reloader.yaml
KUBERNETES_NAMESPACE is left unset in the upstream manifest, so Reloader watches ConfigMaps and Secrets across all namespaces — this requires the ClusterRole/ ClusterRoleBinding the same manifest creates.
Usage
Add this annotation to a Deployment or StatefulSet’s pod template to auto-roll it whenever any ConfigMap or Secret it references changes:
1
2
3
metadata:
annotations:
reloader.stakater.com/auto: "true"
To watch only specific ConfigMaps/Secrets instead of everything the pod references, use configmap.reloader.stakater.com/reload: "name1,name2" or secret.reloader.stakater.com/reload: "name1,name2" instead.
Who’s opted in
Currently annotated for auto-reload: cloudflared-deployment, dbeaver, drawio, gatus, git-ollama-tools, homeassistant, homepage, kafka, kafka-ui, mailpit, n8n, open-webui, pgadmin, portainer (all in default), and tailscale (in the tailscale namespace).