DCM
DCM on the hub provides catalog, Rego policies, placement, and service-provider registration (SPM). Workloads run on spokes via service providers pushed as OCM ManifestWorks or console provider Jobs.
Hub stack
Section titled “Hub stack”Namespace dcm on hub:
| Component | Image source |
|---|---|
| control-plane monolith | fleet/control-plane:{{ harbor_fleet_image_tag }} |
| Traefik gateway | NodePort for /api, /ui, /fleet |
| Postgres, NATS | Upstream images |
Deploy: ansible-playbook fleet-dcm.yml -l hub --tags dcm_hub.
OpenAPI on hub gateway /api/v1alpha1.
Spoke workers
Section titled “Spoke workers”| Provider | ManifestWork / Job | Image |
|---|---|---|
| k8s containers | phase5-k8s-container-sp |
fleet/k8s-container-service-provider |
| OLM subscriptions | phase5-olm-subscription-sp |
fleet/fleet-olm-subscription-sp |
| Helm releases | helm SP MW / install | fleet/fleet-helm-release-sp |
| KubeVirt | kubevirt SP | fleet/kubevirt-service-provider |
Catalog instance delete modes
Section titled “Catalog instance delete modes”DELETE /api/v1alpha1/catalog-item-instances/{id}?deletion_mode=strict|deferred|abandon
| Mode | When to use |
|---|---|
strict (default) |
Normal uninstall while spoke SP reachable |
deferred |
SP temporarily down; cleanup retries |
abandon |
Cluster/provider permanently gone |
Strict provider failures return 422. Rehydration (:rehydrate) recreates under current policy — not orphan cleanup.