liquidmetal-dev / liquidmetal-dev/battery

Kubernetes-native packaging: CRDs/operator for declarative pool management

Open
#46 0 comments 0 reactions 0 assignees View on GitHub
enhancement priority/low
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.