Go to file
juvdiaz dddf5f8db9 Initial Go learning scaffold 2026-06-01 08:47:59 -06:00
docs Initial Go learning scaffold 2026-06-01 08:47:59 -06:00
internal/domain Initial Go learning scaffold 2026-06-01 08:47:59 -06:00
.gitignore Initial Go learning scaffold 2026-06-01 08:47:59 -06:00
Makefile Initial Go learning scaffold 2026-06-01 08:47:59 -06:00
README.md Initial Go learning scaffold 2026-06-01 08:47:59 -06:00
go.mod Initial Go learning scaffold 2026-06-01 08:47:59 -06:00

README.md

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: