mini-platform-control-plane/README.md

1.1 KiB

mini-platform-control-plane

Learning project for building a small Go control plane for local environments and workloads.

The project is intentionally local-first. It starts with in-memory components and fake providers, then adds gRPC, Temporal, MongoDB, Helm rendering, Kubernetes integration, and observability in incremental milestones.

Learning Goals

  • Idiomatic package design.
  • Small interfaces.
  • context.Context cancellation.
  • Wrapped errors with errors.Is and errors.As.
  • Table-driven tests.
  • Concurrency safety.
  • Idempotent operations.
  • gRPC and protobuf APIs.
  • Temporal workflows and activities.
  • Clean separation between API, domain, storage, provider, orchestration, and infrastructure adapters.

Local Commands

make test
make fmt
make tidy

Initial Scope

Milestone 1 defines the domain model:

  • Environment
  • Workload
  • Operation
  • typed validation errors
  • basic status transitions

No private packages or internal infrastructure are required.

See: