Skip to content

itakurah/argus-operator

Repository files navigation

Argus-Operator

Argus is a lightweight Kubernetes operator that automates rolling updates for your applications. It monitors referenced ConfigMaps and Secrets, triggering a native rollout whenever their data changes so your pods are always in sync with their configuration.

Note

Currently supports Deployments, StatefulSets, and DaemonSets.

Key Features

  • Smart Hashing: Only restarts pods if the data actually changes (ignores metadata updates).
  • Zero-Downtime: Leverages native Kubernetes Deployment controllers for safe rollouts.
  • Opt-in Only: Only touches workloads you've explicitly annotated.
  • Lightweight: Written in Go with minimal overhead.

Enable a workload

Add this annotation on the workload’s metadata.annotations:

argus.io/rollout-on-update: "true"

Workloads without that annotation are ignored.

Install (Helm)

The namespace must exist, or create it with Helm:

helm  install  argus  ./charts/argus-operator  \
-n argus-system \
--create-namespace

Optional: image.registry, image.pullSecrets for private registries. See charts/argus-operator/values.yaml for the full list of options.

Uninstall

helm  uninstall  argus  -n  argus-system

Build the image

docker  build  -t  argus-operator:dev  .

Development

go  test  ./...
go  build  -o  bin/manager  ./cmd/manager

Run locally against a cluster (e.g. ~/.kube/config):

./bin/manager

License

See LICENSE.

About

A lightweight, Go-based Kubernetes operator that triggers rolling updates on ConfigMap and Secrets changes.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors