Hybernate
Automatically pause, scale, and clean up idle Kubernetes workloads to cut cluster costs.
Install / Use
/learn @okedeji/HybernateREADME
Hybernate
Your Kubernetes workloads are running 24/7. Your users aren't.
Hybernate is a Kubernetes operator that detects idle workloads, learns their demand patterns, and automatically pauses, scales, or destroys them. It brings them back before traffic returns, turning your non-production clusters from always-on cost centers into pay-for-what-you-use environments.
Why Hybernate?
Most staging, dev, and test workloads sit idle 60-80% of the time: nights, weekends, holidays. You're paying for compute that nobody is using.
Hybernate fixes this by:
- Detecting idle workloads using CPU + memory metrics and optional Prometheus signals, with a consensus model that prevents false positives
- Learning demand patterns via a per-workload Holt-Winters forecasting model that tracks daily and weekly seasonality
- Acting automatically by pausing idle workloads, scaling based on predicted demand, and resuming proactively before users arrive
- Tracking savings with per-workload cost accounting, resource reduction metrics, and cluster-wide aggregation
How It Works

- You point Hybernate at a Deployment or StatefulSet
- The operator monitors CPU, memory, and optional Prometheus signals
- A per-workload forecast model learns when the workload is typically busy
- When all signals confirm idle and the forecast agrees, the workload is paused
- Before the next busy period, the forecast triggers an automatic resume
Quick Start
Install:
helm install hybernate oci://ghcr.io/okedeji/charts/hybernate \
--version v0.1.6 \
--namespace hybernate-system \
--create-namespace
Discover and manage idle workloads in a namespace:
apiVersion: hybernate.io/v1alpha1
kind: WorkloadPolicy
metadata:
name: staging-policy
namespace: staging
spec:
mode: auto-manage
cpuIdleThreshold: 10
memoryIdleThreshold: 10
dryRun: true
kubectl apply -f workloadpolicy.yaml
kubectl get workloadpolicy staging-policy -n staging
NAME MODE DISCOVERED ACTIVE IDLE WASTEFUL PROJECTED COST PROJECTED SAVINGS
staging-policy auto-manage 12 8 2 2 $340.00 $89.00
Start with dryRun: true to observe. When you're confident, set it to false to enable automation.
Or manage a single workload directly:
apiVersion: hybernate.io/v1alpha1
kind: ManagedWorkload
metadata:
name: my-api
namespace: staging
spec:
target:
kind: Deployment
name: my-api
idlePolicy:
cpuIdleThreshold: 10
memoryIdleThreshold: 10
gracePeriod: "5m"
autoResume: true
prediction:
confidence: 85
dryRun: true
Features
Core
- Multi-signal idle detection using CPU + memory thresholds with Prometheus PromQL signals, consensus-based confirmation, and configurable grace periods
- Demand forecasting via a Holt-Winters double seasonal model that learns daily and weekly patterns per workload, with confidence scoring and anomaly detection
- Prediction-driven scaling where replica counts adjust based on forecasted demand with stabilization windows, step limits, and guard probes
- Pause, resume, and destroy with scale to zero, automatic expiry, forecast-driven resume, and PVC retention
Operations
- Auto-discovery lets WorkloadPolicy scan namespaces, classify workloads as Active/Idle/Wasteful, and optionally auto-create ManagedWorkloads
- GitOps export via
kubectl hybernate exportgenerates ManagedWorkload manifests for ArgoCD/Flux workflows - Cost tracking with per-workload resource consumption, estimated savings, and concrete resource reduction metrics
- Dry-run mode to observe every decision the operator would make without it taking action
Observability
- 30+ Prometheus metrics across three tiers: cluster health, operational insight, and debugging
- Grafana dashboard included with cost, lifecycle, and prediction panels
- Kubernetes events for every state change, visible in
kubectl describe
Architecture

| Component | Description | |-----------|-------------| | ManagedWorkload | Per-workload CR that defines idle policy, scale policy, pause/destroy behavior, and cost tracking | | WorkloadPolicy | Namespace-scoped scanner that discovers, classifies, and optionally auto-manages workloads | | HybernateReport | Cluster-wide singleton that aggregates cost, savings, and resource reduction across all workloads | | Forecast Engine | Per-workload Holt-Winters model that learns demand patterns, gates idle detection, and drives scaling |
Documentation
Full docs at okedeji.io/hybernate
- Installation: Helm, kubectl, and source
- Quickstart: manage your first workload
- Idle Detection: how signals, forecasts, and grace periods work
- Forecasting: the Holt-Winters prediction engine
- Cost Tracking: resource reduction vs. estimated savings
- API Reference: complete CRD field reference
- Metrics Reference: all Prometheus metrics
Contributing
We welcome contributions. See CONTRIBUTING.md for development setup, coding standards, and PR guidelines.
Security
To report a security vulnerability, see SECURITY.md.
License
Copyright 2026. Licensed under the Apache License, Version 2.0.
