No description
  • Python 88.9%
  • Makefile 9.6%
  • Dockerfile 1.3%
  • Shell 0.2%
Find a file
2026-04-11 18:11:06 +02:00
docs improve docs 2026-04-11 18:11:06 +02:00
microcontroller-wol-agent initial commit 2026-03-13 17:13:17 +01:00
node-agent Add dry-run mode 2026-04-11 14:29:48 +02:00
operator improve logic for controlling powermanagednodes 2026-04-11 18:10:58 +02:00
wol-agent Add docker versioning to Makefiles 2026-04-10 22:47:35 +02:00
.gitignore Refine operator 2026-04-10 22:49:43 +02:00
agent.yaml Update gitignore and add contribution guidelines 2026-04-09 21:59:14 +02:00
AGENTS.md improve docs 2026-04-11 18:11:06 +02:00
CONTRIBUTING.md Update gitignore and add contribution guidelines 2026-04-09 21:59:14 +02:00
kind-cluster.yaml add kind cluster config for testing 2026-04-10 22:50:07 +02:00
LICENSE add agpl3 license 2026-04-03 14:50:25 +02:00
Makefile First prototype 2026-04-09 21:31:05 +02:00
README.md Add documentation 2026-04-10 22:48:08 +02:00

k8s-power-manager

A Kubernetes operator for managing power on bare-metal nodes that have no BMC. Nodes are shut down and woken via Wake-on-LAN based on utilization thresholds. Works alongside kube-downscaler.

Status

Implemented. Uses utilization-based power management.

Quick start

# Deploy WOL agent (Raspberry Pi or similar)
cd wol-agent && cp .env.example .env && docker compose up -d

# Label nodes
kubectl label node <node-name> power-manager/managed=true

# Deploy operator
kubectl apply -f operator/kubernetes/power_management_policy_crd.yaml
kubectl apply -f operator/kubernetes/deployment.yaml

# Create policy
kubectl apply -f operator/kubernetes/example_policy.yaml

Documentation

Full documentation: docs/

  • Getting started - Deployment guide
  • Architecture - System design
  • Components - WOL agent, node-agent, operator
  • CRD reference - PowerManagementPolicy spec
  • Troubleshooting

Repository structure

wol-agent/              # Wake-on-LAN Docker agent
wol-agent-micropython/  # ESP32/Pico W MicroPython agent
node-agent/             # In-cluster shutdown agent
operator/              # kopf Kubernetes operator
docs/                  # Full documentation