This quickstart uses Kapro's spoke-side OCI delivery core. Spokes pull rendered OCI artifacts and apply them directly, so this path does not require Flux or Argo CD on target clusters.
For a generated repo shape, start with:
kapro create oci ./promotion-repo --name checkout
cd promotion-repo
kubectl apply -f substrates/oci.yaml
kubectl wait --for=condition=Ready substrate/oci --timeout=90s
kubectl apply --recursive -f clusters -f deliveryunits -f plans -f fleets -f promotionsThe checked-in static example below is useful for smoke tests and release verification.
Prerequisites for a real OCI pull deployment:
- Kapro operator installed on the hub with the
cluster-bootstrapcontroller enabled andhubAPIURLset for spoke reachability. kapro-cluster-controllerinstalled on each spoke. See Registering a Cluster (Pull Mode) for the bootstrap flow and required chart values.- OCI artifacts published for each promoted unit.
- A clone of this repository, because the commands below apply manifests from
examples/01-quickstarts/03-oci/.
git clone --branch main https://github.com/Kapro-dev/kapro.git
cd kapro
kubectl apply -f examples/01-quickstarts/03-oci/substrates/oci.yaml
kubectl apply -f examples/01-quickstarts/03-oci/deliveryunit.yaml
kubectl apply -f examples/01-quickstarts/03-oci/plan.yaml
kubectl apply -f examples/01-quickstarts/03-oci/fleet.yaml
kubectl apply -f examples/01-quickstarts/03-oci/promotion.yaml
kubectl get promotions.kapro.io,promotionruns.runtime.kapro.io,targets.runtime.kapro.ioReplace the placeholder ghcr.io/example/... repositories with your workload
artifact registry before using this outside a demo cluster.