|
|
||
|---|---|---|
| docs | ||
| internal/domain | ||
| .gitignore | ||
| Makefile | ||
| README.md | ||
| go.mod | ||
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.Contextcancellation.- Wrapped errors with
errors.Isanderrors.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:
EnvironmentWorkloadOperation- typed validation errors
- basic status transitions
No private packages or internal infrastructure are required.
See: