CODESEEDSign in
Explore projects
TypeScriptadvanceddevops

Kubernetes Operator in TypeScript

Custom Kubernetes Operator in TypeScript that manages a CRD resource, reconciles desired with actual state, and exposes metrics.

5 steps

Project steps

  1. 01

    CRD definition

    Defines a simple CRD: WebApp with spec(image, replicas, domain).

  2. 02

    Controller loop

    Watches for CRD events (ADDED, MODIFIED, DELETED), enters reconcile loop.

  3. 03

    Reconcile

    Ensures Deployment + Service + Ingress exist with values from spec.

  4. 04

    Status updates

    Updates .status.conditions with ready/progressing/error.

  5. 05

    Metrics

    prom-client: counter reconcile_total, histogram reconcile_duration_seconds.

Recommended resources

Ready to build this?

Fork the repo on GitHub and start building. A mentor will review your code when you open a PR.

5 steps

Tech stack

TypeScript@kubernetes/client-nodeprom-clientzod