From Tweet to BadIdea: Creating an Embeddable Kubernetes Style API Server
summary
Prototype claims to produce an embeddable Kubernetes-style API server with CRD support using controller-runtime, client-go and apimachinery without pulling the whole kube repo; a three-day proof of concept spins up etcd, an aggregation layer and a local server on localhost:6443, applies CRDs via kubectl, creates a test "bars" CRD, persists objects across restarts and updates status via a simple controller. Missing pieces include TLS/auth configurability, namespace/configmap/Service routing, admission webhook handling and production hardening—project named bad idea.
AI-written summary · about
chapters (21)
- 0:00Introduction
- 0:10Who am I
- 0:22Back to Twitter
- 0:42Why use crds
- 1:13Cost of crds
- 2:24Research
- 2:57Current State
- 3:17Goal
- 5:23Existing tooling
- 6:29CRDbased tooling
- 7:10Why not just use the underlying libraries
- 9:08Standalone use case
- 9:57GitHub organization
- 10:31BadIdea repository
- 10:41Dependencies
- 12:16Application Overview
- 14:30Rest Configuration
- 15:19Controller Manager
- 17:53Cubeconfig
- 18:57Creating a Resource
- 21:32Whats Missing
related talks
48mKubernetes as backend: CRD & Operators
34mExtending Kubernetes 101
26mThe Control Loop As An Application Development Framework
19mKeynote: CRDs, No Longer 2nd Class Thing!
29mKubernetes Custom Resources with Kubeless and Metacontroller
24mKubernetes-Powered Platform Engineering: From IaC To API-Driven Infrastructure
29mKubernetes Reloaded: AKA How to Avoid the Dev Plateau with CRDs
36mSIG API Machinery Deep Dive
