Pulumi-based management-cluster bootstrap and provisioning control plane for the RK2Lab ecosystem.
This repository owns provisioning lifecycle logic that is intentionally separated from rke2lab runtime/manifests docs.
Primary near-term scope:
-
Stage A bootstrap of the management cluster (
bioskop) -
Deterministic readiness gating
-
Exported bootstrap outputs for Stage B handoff
Current runtime path is intentionally Stage A-only. Workload-cluster (alcide, nikopol, etc.) provisioning manifests are applied after management bootstrap as Stage B concerns.
Initial scaffold created. First implementation target is the Stage A bootstrap contract.
-
docs/bootstrap-contract.adoc— source-of-truth contract for inputs/outputs/readiness/failure semantics -
docs/incus-distribution-contract.adoc— reverse-engineered Incus distribution contract for seed/control-node provisioning -
docs/stagea-stageb-handoff-contract.adoc— explicit handoff assets between Stage A bootstrap and Stage B CAPI/CAPN reconciliation -
docs/rke2lab-authored-notes-import.adoc— imported historical planning notes fromrke2labcarried forward as curated context -
src/main/java/— Java Pulumi application -
Pulumi.yaml— Pulumi project metadata -
pom.xml— Maven build configuration
-
Define contract and acceptance checks in
docs/bootstrap-contract.adoc -
Capture and normalize Incus distribution contract from
rke2labindocs/incus-distribution-contract.adoc -
Define Stage A → Stage B handoff asset contract in
docs/stagea-stageb-handoff-contract.adoc -
Implement minimal
pulumi uppath for management-cluster seed -
Export kubeconfig + endpoint outputs for Stage B consumers