liquidmetal-dev / liquidmetal-dev/battery
Kubernetes-native packaging: CRDs/operator for declarative pool management
- Dominant language
- Go
- Stars
- 1
- Forks
- 0
- Avg merge
- 2h 13m
- Merged PRs (30d)
- 33
Description
Follow-up to #20. The Helm chart added for #20 packages `poolmgrd` for Kubernetes (Deployment-style StatefulSet + PVC, config/TLS via ConfigMap/Secret), but pool definitions are still managed exclusively through `poolmgrd`'s existing gRPC `PoolAdminService`.
This issue tracks the remaining, larger piece: a Kubernetes Operator that lets pool definitions be managed declaratively via a `Pool` CRD.
Proposed shape (not fully designed yet):
- A `Pool` CRD mirroring `poolmgrd`'s `PoolSpec` (see `docs/design/2026-09-05-microvm-warm-pool-manager-design.md`).
- A controller that reconciles `Pool` resources by calling `poolmgrd`'s existing `PoolAdminService` (`CreatePool`/`UpdatePool`/`DeletePool`/`GetPool`/`ListPools`) — `poolmgrd` itself stays Kubernetes-unaware, so this is a translation layer, not a rewrite of the reconciler.
- Status reporting back onto the `Pool` resource (e.g. available/leased/provisioning counts) via `poolmgrd`'s existing `Events` subscription or polling `GetPool`.
Needs its own brainstorm/design pass before implementation.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with docs/design/2026-09-05-microvm-warm-pool-manager-design.md to understand PoolSpec, then review poolmgrd's existing PoolAdminService methods and Events subscription. The first step is a design pass for the Pool CRD, controller translation layer, and status reporting; done means the proposed shape and implementation scope are agreed before coding.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, grpc, kubernetes
- Domain
- backend-api-design, cloud, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100