# stakater/Reloader

A Kubernetes controller to watch changes in ConfigMap and Secrets and do rolling upgrades on Pods with their associated Deployment, StatefulSet, DaemonSet and DeploymentConfig – [✩Star] if you're using it!

Repository: https://github.com/stakater/Reloader
Canonical: https://ross.abutalabs.com/products/reloader
Homepage: https://docs.stakater.com/reloader/
Language: Go
License: Apache-2.0
License Family: permissive
Topics: kubernetes, openshift, configmap, secrets, pods, deployments, daemonset, statefulsets, k8s, watch-changes, deploymentconfigs
Last push: 2026-08-23T11:44:50+00:00

## Health v2 (maintenance only)
Score: 98/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 97, longevity 100
- inputs: {"age_days": 2982, "days_push": 10, "days_rel": 23, "gap_med": 0, "n_releases_24m": 46}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 10367, forks 660 (observed 2026-08-28T04:10:41.806741+00:00)

## What it is
Reloader is a Kubernetes controller written in Go that watches for changes to ConfigMaps, Secrets, and CSI-mounted secrets, and automatically triggers rolling upgrades of associated workloads. It eliminates stale configuration in production by keeping Deployments, StatefulSets, DaemonSets, and DeploymentConfigs in sync with their configuration sources.

## Use cases
- automatically restart pods when a configmap changes
- roll out deployments when secrets are updated
- keep workloads in sync with rotated credentials
- avoid stale configuration in kubernetes pods
- trigger rolling upgrades on config changes in CI/CD
- reload statefulsets and daemonsets after secret updates

## When to choose
- you update ConfigMaps or Secrets frequently and need pods to pick up changes automatically
- you want zero manual restarts after credential rotation or config changes
- you run Kubernetes or OpenShift with Deployments, StatefulSets, DaemonSets, or Argo Rollouts
- you need a lightweight, widely adopted controller that just requires labeling workloads

## When to avoid
- your workloads already watch config files dynamically and reload in-process
- you use a GitOps tool that handles rollout triggers itself
- you are not running on Kubernetes or OpenShift

## Facets
- artifact type: service
- maturity: active
- function: deployment, configuration-management, monitoring, container-orchestration
- domain: cloud-computing, infrastructure-as-code
- platform: go, cloud, self-hosted
- tags: kubernetes-controller, configmap, secrets, rolling-upgrade, openshift, rollout-automation, statefulset, daemonset, devops, containers, automation, kubernetes, docker

## Member repositories
- stakater/Reloader (main) score 98

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:41.806741+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:19:06.741297+00:00, confidence not recorded.
  - readme: https://github.com/stakater/Reloader (fetched 2026-08-28T04:10:41.806741+00:00, sha 4389e7cebeb4)
  - homepage: https://docs.stakater.com/reloader/ (fetched 2026-08-29T08:18:20.585498+00:00, sha 36c6c3c2e4f9)
- Data as of 2026-08-30T08:39:29.467469+00:00.
