mini-platform-control-plane/README.md

48 lines
1.1 KiB
Markdown

# 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
```bash
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:
- [Architecture](docs/architecture.md)
- [Milestones](docs/milestones.md)