Skip to main content

78 docs tagged with "kubernetes"

View all tags

Architecture

Components, data flow, and external integrations for the Cal.com scheduling stack.

Architecture

Components, email flow, and attack scenarios protected by the email relay.

Architecture

Components, data flow, and resource requirements for the observability stack.

Archived Runbooks

Older techniques and runbooks that I no longer use move here. They remain available for reference, research, or migration work, but they are not maintained.

Blaster Dev K8s manifests

Structure and contents of the Blaster app Kubernetes manifests under k8s/dev and k8s/prod, including secrets, database, deployment, ingress and SOPS encryption.

Blaster GitOps Series

High-level overview of how the Blaster demo game is used as a worked example of moving from local development to Kubernetes dev and prod using GitLab, Kaniko and FluxCD.

Cloudflare GitOps via Flux

This runbook provides end-to-end instructions on how to deploy and manage Cloudflare and the Cloudflare CA issuer onto the cluster using GitOps automation via Flux.

Deployment

Kubernetes deployment with Flux GitOps, database setup, and CronJob configuration.

Deployment

Kubernetes deployment with Flux GitOps, database backup infrastructure, and CI/CD pipeline for the school platform.

Dev Verification

End to end verification and troubleshooting guide for the Blaster GitOps stack, covering Git, CI, SOPS, Flux, image automation and Kubernetes health.

DNS

Local network DNS records and resolution testing.

Email relay

Shared SMTP relay infrastructure with MX domain validation, email logging, and Microsoft 365 Graph API delivery.

Environment and Bootstrap

Kubernetes clusters can be deployed in many different environments and bootstrapped in several ways. The tables below show a range of host platforms and cluster bootstrap combinations to choose from.

Flux integration

Flux configuration with dependency control and deployment commands for the Cal.com scheduling stack.

Flux integration

Flux configuration with dependency control and deployment commands for the observability stack.

Foundation and Overview

I prefer operating Kubernetes on-premises because it gives me full control over the environment and, with open-source choices, it’s very low-cost to run.

Helm Charts

Helm helps you manage Kubernetes applications. Helm Charts help you define, install, and upgrade even the most complex Kubernetes applications.

Hybrid Cluster

Replace the virtual worker with a physical node to make the development cluster hybrid. This adds realistic CPU, memory, storage, and network performance while keeping the control plane simple and virtualised.

IdP Internal Console

Use the ZITADEL console for the internal IdP to complete initial admin setup, configure SMTP, connect NAS LDAP, and define Kubernetes-related projects, roles and applications.

IdP Internal Deployment

Deploy the internal ZITADEL identity provider into the cluster with FluxCD (namespace, Postgres, HelmRelease, ingress) as the foundation for LDAP, OIDC, and SSO runbooks.

IdP Internal OIDC

Configure the Kubernetes API server, RBAC bindings, and all related ZITADEL console configuration so the internal instance acts as an OIDC identity provider for the cluster.

Kubernetes Collection

A practical collection of my Kubernetes notes and real configurations learnt the hard way.

Manifests

App repo structure and key manifest configurations for the Cal.com scheduling stack.

Manifests

Repository structure, mx-validator code, and Kubernetes manifests for the email relay.

Manifests

App repo structure and key manifest configurations for the observability stack.

Meeting scheduling

Self-host a meeting scheduling system using Cal.com with GitOps, saving hundreds in SaaS fees.

Metal Load Balancer

MetalLB is a load-balancer implementation for bare-metal Kubernetes clusters, it gives your on-prem or non-cloud Kubernetes environment the same external load-balancing capability that cloud providers (like AWS ELB or GCP Load Balancer) offer automatically.

MetalLB Operator FRR Mode

Operator with FRR backend (frr-k8s): You can control what’s allowed inbound using the FRRConfiguration CR. That’s where you set toReceive.allowed and (optionally) prefix lists.

Observability stack

Deploy a GitOps-managed observability stack with Prometheus, Loki, Grafana Alloy, and Uptime Kuma for proactive alerting on application-level issues.

Operations

OAuth setup, email via Graph API, security hardening, first login, and troubleshooting for the Cal.com scheduling stack.

Operations

Azure App Registration, smtp2graph configuration, Prometheus metrics, and troubleshooting.

Operations

Post-deployment setup, testing alerts, and troubleshooting for the observability stack.

Prod Deployment Overview

High level overview of the Blaster production deployment, with pointers to detailed runbooks for Kubernetes manifests, Flux GitOps, Cloudflare and security hardening.

Prod GitOps via Flux Runbook

Runbook on how the blaster game moves from Kubernetes dev to prod using GitLab, Kaniko, FluxCD and dynamic images.

Provisioning Kubernetes Clusters

My method to bring a local-first, on-premises Kubernetes cluster to life quickly using the pairing of virtualistion and Kubespray.

Runbooks

Each runbook provides a complete guide, including deployment, validation and testing.

WordPress Flux Integration

Add the WordPress app repo into `flux-config` by defining the namespace, GitRepository, and Kustomization objects, then reconcile and verify.

WordPress GitOps Series

High-level overview of the WordPress-on-Kubernetes GitOps workflow (repo layout, Flux configuration, restore and ops toolkit).

WordPress Manifests

Application repository Kubernetes manifests under `k8s/prod`, including SOPS policy, Secrets, MariaDB, WordPress, Ingress, cron, Redis, NetworkPolicies, and Kustomize configuration.

WordPress Repo and Prerequisites

Prerequisites, local tooling verification, Cloudflare portal hardening, and initial GitLab app repository setup for a Flux-managed WordPress deployment.