DevOps. Self-hosted. Security.
RSS FeedNotes on DevOps, infrastructure, self-hosting and cybersecurity — practical guides from real-world operations.
Read the posts below or head over to the About page.
Recent Posts
-
ValidatingAdmissionPolicy: moving admission control into the API server with CEL
Kyverno 1.17 deprecates classic ClusterPolicy in favor of CEL-native ValidatingPolicy, with removal planned for v1.20. ValidatingAdmissionPolicy has been stable since Kubernetes 1.30 and runs CEL directly inside kube-apiserver — no webhook, no network hop, no separate pod. We break down the CEL expression model, migrate a real policy, and measure the latency before/after.
-
Renovate: dependency updates that don't drive you mad
Renovate instead of a flood of one-off PRs per dependency: packageRules grouping, schedules, automerge with a cooldown, and a self-hosted GitLab CI run. We cover the flow, the config, and where the automerge trust boundary sits.
-
KEDA: event-driven autoscaling, all the way to zero
KEDA scales pods by queue depth, a metric, or a schedule — not just CPU/RAM — and can scale all the way down to zero. ScaledObject, scalers for Kafka/RabbitMQ/Prometheus/cron, and the polling interval, activation-vs-scaling threshold, and cooldown gotchas.
-
OpenTofu: state encryption and leaving Terraform without drama
OpenTofu encrypts state and plan client-side, before the backend ever sees them — a feature Terraform still doesn't have. We cover migration, key providers (PBKDF2, AWS/GCP KMS, OpenBao), and why backend encryption isn't the same thing.