Getting Started
Install and configure Vigil in your Kubernetes cluster
Prerequisites
- Kubernetes 1.30+
- Helm 3.x
- Karpenter (or any node provisioner that supports startup taints)
- Prometheus (for metrics collection)
Installation
Add the Helm Repository
helm repo add vigil https://oss.nextdoor.com/vigil
helm repo update
Install
helm install vigil vigil/vigil-controller \
--namespace vigil-system \
--create-namespace \
--set config.taintKey="node.example.com/initializing" \
--set config.taintEffect="NoSchedule"
Configure Karpenter Startup Taints
Add the startup taint to your Karpenter NodePool definitions:
spec:
template:
spec:
startupTaints:
- key: node.example.com/initializing
effect: NoSchedule
Verify
# Check the controller is running
kubectl get pods -n vigil-system
# Check metrics are being exposed
kubectl port-forward -n vigil-system svc/vigil-vigil-controller-controller-manager-metrics-service 8080:8080
curl http://localhost:8080/metrics | grep vigil_
Configuration
See the Configuration Reference for all available options.