App deploy and routes
Deploy
Section titled “Deploy”- Secrets (if needed) — console
PUT /fleet/api/v1alpha1/catalog-instance-secretsforx-secret-bindpassword fields. - Instance create —
POST /api/v1alpha1/catalog-item-instanceswithuser_values(replicas,routing.mode, placement labels). - Placement — DCM Rego policies match
ManagedClusterlabels; return targets and SPRM IDs. - Materialization — Provider creates Deployment/Service, Helm release, or OLM Subscription.
- Route sync —
fleet-edge-route-synccreates/updatesFleetAppRouteforrouting.modeinhub|site|dual. - Route reconcile — fleet-edge-controller merges hub Traefik config, applies spoke Ingress ManifestWorks, enqueues ACME when enabled.
- Traffic — For
hubmode:app.<fleet_edge_domain>→ hub Traefik → WireGuard → spoke Traefik → Service.
Fields gated by x-ui-depends-on (for example bootstrap admin password) render under the controlling checkbox in the Configure step.
Delete
Section titled “Delete”DELETE /api/v1alpha1/catalog-item-instances/{id}?deletion_mode=strict|deferred|abandon
| Mode | Behavior |
|---|---|
strict (default) |
Require provider uninstall; fail closed if unavailable |
deferred |
Drop records; background cleanup |
abandon |
Drop records even if provider missing |
Route sync prunes synced FleetAppRoute; controller finalizer removes spoke Ingress MW and rebuilds Traefik fragments.
Rehydration (:rehydrate) recreates placement under current policy — not orphan cleanup.