Claim Lifecycle¶
Overview¶
Every Crossplane claim managed through the platform follows a defined lifecycle from creation to deletion. All state transitions are tracked in claims/registry.yaml and executed through Git pull requests.
Lifecycle States¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
File Artifacts Per Claim¶
When a claim is created, three files are generated in claims/{category}/{name}/:
1. Claim Manifest ({template}.yaml)¶
The rendered Crossplane claim resource:
1 2 3 4 5 6 7 8 | |
2. Kustomization (kustomization.yaml)¶
Local kustomization referencing the claim manifest:
1 2 3 4 | |
3. Catalog Info (catalog-info.yaml)¶
Backstage component registration:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Parent Kustomization¶
Each category directory has a kustomization.yaml that references its children:
1 2 3 4 5 | |
This file is updated on both create (add entry) and delete (remove entry).
Create Workflow¶
- User selects a template and provides parameters (via CLI or Backstage)
claimsCLI callsclaim-machinery-apito render the template- CLI writes the three artifact files to a new git branch
- CLI adds an entry to
claims/registry.yaml - CLI updates the parent
kustomization.yaml - CLI creates a pull request
- On PR merge, Flux reconciles the claim to the cluster
Delete Workflow¶
- User selects a claim to delete (via CLI, Backstage, or automation)
claimsCLI resolves claim metadata (from registry or API)- CLI removes the entire
claims/{category}/{name}/directory on a new branch - CLI removes the entry from
claims/registry.yaml - CLI removes the entry from parent
kustomization.yaml - CLI creates a pull request
- On PR merge, Flux removes the claim from the cluster