A basic loop-based Kubernetes controller that demonstrates how to watch and process custom resources.
This simple controller:
- Lists NamespaceCleaner custom resources using generated clients
- Runs a reconcile loop every 30 seconds to process each NamespaceCleaner
-
Setup your cluster and CRD:
make setup
-
Create test namespaces (optional):
make create-test-namespaces
-
Run the controller:
make run-controller
The controller will:
- List all NamespaceCleaner resources on startup
- Every 30 seconds, scan for NamespaceCleaner resources
- For each resource, find matching namespaces based on label selectors
- Log what it would delete (but won't actually delete for safety)