Skip to content

Commit d4aaa21

Browse files
patrickleetclaude
andcommitted
feat: add labels to managed resources
Added standard labels and updated mock observed-resources for better resource tracking. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 0e6f566 commit d4aaa21

12 files changed

+62
-57
lines changed

examples/test/mocks/observed-resources/standard/steps/3/usage-cidr-ipv4.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
apiVersion: protection.crossplane.io/v1beta1
33
kind: Usage
44
metadata:
5-
name: of-ipam-pool-platform-ipv4-by-pool-cidr-platform-ipv4-cidr
5+
name: delete-platform-ipv4-cidr-before-platform-ipv4
66
annotations:
7-
crossplane.io/composition-resource-name: ipam-pool-cidr-usage-ipv4
8-
gotemplating.fn.crossplane.io/composition-resource-name: ipam-pool-cidr-usage-ipv4
7+
crossplane.io/composition-resource-name: delete-ipv4-cidr-before-pool
8+
gotemplating.fn.crossplane.io/composition-resource-name: delete-ipv4-cidr-before-pool
99
status:
1010
conditions:
1111
- type: Ready

examples/test/mocks/observed-resources/standard/steps/3/usage-cidr-ipv6-private.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
apiVersion: protection.crossplane.io/v1beta1
33
kind: Usage
44
metadata:
5-
name: of-ipam-pool-platform-ipv6-private-by-pool-cidr-platform-ipv6-private-cidr
5+
name: delete-platform-ipv6-private-cidr-before-platform-ipv6-private
66
annotations:
7-
crossplane.io/composition-resource-name: ipam-pool-cidr-usage-ipv6-private
8-
gotemplating.fn.crossplane.io/composition-resource-name: ipam-pool-cidr-usage-ipv6-private
7+
crossplane.io/composition-resource-name: delete-ipv6-private-cidr-before-pool
8+
gotemplating.fn.crossplane.io/composition-resource-name: delete-ipv6-private-cidr-before-pool
99
status:
1010
conditions:
1111
- type: Ready

examples/test/mocks/observed-resources/standard/steps/3/usage-cidr-ipv6-public.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
apiVersion: protection.crossplane.io/v1beta1
33
kind: Usage
44
metadata:
5-
name: of-ipam-pool-platform-ipv6-public-by-pool-cidr-platform-ipv6-public-cidr
5+
name: delete-platform-ipv6-public-cidr-before-platform-ipv6-public
66
annotations:
7-
crossplane.io/composition-resource-name: ipam-pool-cidr-usage-ipv6-public
8-
gotemplating.fn.crossplane.io/composition-resource-name: ipam-pool-cidr-usage-ipv6-public
7+
crossplane.io/composition-resource-name: delete-ipv6-public-cidr-before-pool
8+
gotemplating.fn.crossplane.io/composition-resource-name: delete-ipv6-public-cidr-before-pool
99
status:
1010
conditions:
1111
- type: Ready

examples/test/mocks/observed-resources/standard/steps/4/usage-child-pool-cidr-ipv4-us-east-1.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
apiVersion: protection.crossplane.io/v1beta1
33
kind: Usage
44
metadata:
5-
name: of-ipam-pool-cidr-platform-ipv4-cidr-by-child-pool-platform-ipv4-us-east-1
5+
name: delete-platform-ipv4-us-east-1-before-platform-ipv4-cidr
66
annotations:
7-
crossplane.io/composition-resource-name: ipam-child-pool-cidr-usage-ipv4-us-east-1
8-
gotemplating.fn.crossplane.io/composition-resource-name: ipam-child-pool-cidr-usage-ipv4-us-east-1
7+
crossplane.io/composition-resource-name: delete-ipv4-us-east-1-before-parent-cidr
8+
gotemplating.fn.crossplane.io/composition-resource-name: delete-ipv4-us-east-1-before-parent-cidr
99
status:
1010
conditions:
1111
- type: Ready

examples/test/mocks/observed-resources/standard/steps/4/usage-child-pool-cidr-ipv6-private-us-east-1.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
apiVersion: protection.crossplane.io/v1beta1
33
kind: Usage
44
metadata:
5-
name: of-ipam-pool-cidr-platform-ipv6-private-cidr-by-child-pool-platform-ipv6-private-us-east-1
5+
name: delete-platform-ipv6-private-us-east-1-before-platform-ipv6-private-cidr
66
annotations:
7-
crossplane.io/composition-resource-name: ipam-child-pool-cidr-usage-ipv6-private-us-east-1
8-
gotemplating.fn.crossplane.io/composition-resource-name: ipam-child-pool-cidr-usage-ipv6-private-us-east-1
7+
crossplane.io/composition-resource-name: delete-ipv6-private-us-east-1-before-parent-cidr
8+
gotemplating.fn.crossplane.io/composition-resource-name: delete-ipv6-private-us-east-1-before-parent-cidr
99
status:
1010
conditions:
1111
- type: Ready

examples/test/mocks/observed-resources/standard/steps/4/usage-child-pool-ipv4-us-east-1.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
apiVersion: protection.crossplane.io/v1beta1
33
kind: Usage
44
metadata:
5-
name: of-ipam-pool-platform-ipv4-by-child-pool-platform-ipv4-us-east-1
5+
name: delete-platform-ipv4-us-east-1-before-platform-ipv4
66
annotations:
7-
crossplane.io/composition-resource-name: ipam-child-pool-usage-ipv4-us-east-1
8-
gotemplating.fn.crossplane.io/composition-resource-name: ipam-child-pool-usage-ipv4-us-east-1
7+
crossplane.io/composition-resource-name: delete-ipv4-us-east-1-before-parent-pool
8+
gotemplating.fn.crossplane.io/composition-resource-name: delete-ipv4-us-east-1-before-parent-pool
99
status:
1010
conditions:
1111
- type: Ready

examples/test/mocks/observed-resources/standard/steps/4/usage-child-pool-ipv6-private-us-east-1.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
apiVersion: protection.crossplane.io/v1beta1
33
kind: Usage
44
metadata:
5-
name: of-ipam-pool-platform-ipv6-private-by-child-pool-platform-ipv6-private-us-east-1
5+
name: delete-platform-ipv6-private-us-east-1-before-platform-ipv6-private
66
annotations:
7-
crossplane.io/composition-resource-name: ipam-child-pool-usage-ipv6-private-us-east-1
8-
gotemplating.fn.crossplane.io/composition-resource-name: ipam-child-pool-usage-ipv6-private-us-east-1
7+
crossplane.io/composition-resource-name: delete-ipv6-private-us-east-1-before-parent-pool
8+
gotemplating.fn.crossplane.io/composition-resource-name: delete-ipv6-private-us-east-1-before-parent-pool
99
status:
1010
conditions:
1111
- type: Ready

functions/render/100-ipam.yaml.gotmpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ spec:
3232
- regionName: {{ . }}
3333
{{- end }}
3434
tags:
35+
Name: {{ $ipam.name }}
3536
{{- toYaml $ipam.defaultTags | nindent 6 }}
3637
{{- with $ipam.forProvider }}
3738
{{ toYaml . | nindent 4 }}

functions/render/200-scopes.yaml.gotmpl

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,23 +34,24 @@ spec:
3434
name: {{ $ipam.name }}
3535
region: {{ $ipam.region }}
3636
tags:
37+
Name: {{ $scope.resourceName }}
3738
{{- toYaml $scope.tags | nindent 6 }}
3839
providerConfigRef:
3940
kind: {{ $ipam.providerConfig.kind }}
4041
name: {{ $ipam.providerConfig.name }}
4142

4243
# ---------------------------------------------------------------------------
43-
# Usage: Custom scope uses IPAM
44+
# Usage: Delete custom scope before IPAM
4445
# ---------------------------------------------------------------------------
4546
{{- if and $obs.ipam.ready $scope.ready }}
4647

4748
---
4849
apiVersion: protection.crossplane.io/v1beta1
4950
kind: Usage
5051
metadata:
51-
name: {{ printf "of-%s-by-%s" $ipam.name $scope.resourceName }}
52+
name: {{ printf "delete-%s-before-%s" $scope.resourceName $ipam.name }}
5253
annotations:
53-
{{ setResourceNameAnnotation (printf "custom-scope-usage-%s" $scope.name) }}
54+
{{ setResourceNameAnnotation (printf "delete-%s-before-ipam" $scope.name) }}
5455
spec:
5556
replayDeletion: true
5657
by:

functions/render/300-ipv4-pools.yaml.gotmpl

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ spec:
5959
allocationMaxNetmaskLength: {{ . }}
6060
{{- end }}
6161
tags:
62+
Name: {{ $pool.resourceName }}
6263
{{- toYaml $pool.tags | nindent 6 }}
6364
{{- with $pool.forProvider }}
6465
{{ toYaml . | nindent 4 }}
@@ -68,7 +69,7 @@ spec:
6869
name: {{ $ipam.providerConfig.name }}
6970

7071
# -------------------------------------------------------------------------
71-
# Usage: Pool uses Custom Scope
72+
# Usage: Delete pool before custom scope
7273
# -------------------------------------------------------------------------
7374
{{- if and $pool.ready $pool.usesCustomScope }}
7475
{{- $scopeObs := get $obs.scopes $pool.scopeRef | default dict }}
@@ -78,9 +79,9 @@ spec:
7879
apiVersion: protection.crossplane.io/v1beta1
7980
kind: Usage
8081
metadata:
81-
name: {{ printf "of-scope-%s-by-pool-%s" $pool.scopeIdRef $pool.resourceName }}
82+
name: {{ printf "delete-%s-before-%s" $pool.resourceName $pool.scopeIdRef }}
8283
annotations:
83-
{{ setResourceNameAnnotation (printf "ipam-pool-scope-usage-%s" $pool.name) }}
84+
{{ setResourceNameAnnotation (printf "delete-%s-before-scope" $pool.name) }}
8485
spec:
8586
replayDeletion: true
8687
by:
@@ -98,7 +99,7 @@ spec:
9899
{{- end }}
99100

100101
# -------------------------------------------------------------------------
101-
# Usage: Child Pool uses Parent Pool
102+
# Usage: Delete child pool before parent pool
102103
# -------------------------------------------------------------------------
103104
{{- if and $pool.ready $pool.isChildPool }}
104105
{{- $parentObs := get $obs.pools $pool.sourcePoolRef | default dict }}
@@ -109,9 +110,9 @@ spec:
109110
apiVersion: protection.crossplane.io/v1beta1
110111
kind: Usage
111112
metadata:
112-
name: {{ printf "of-ipam-pool-%s-by-child-pool-%s" $parentResourceName $pool.resourceName }}
113+
name: {{ printf "delete-%s-before-%s" $pool.resourceName $parentResourceName }}
113114
annotations:
114-
{{ setResourceNameAnnotation (printf "ipam-child-pool-usage-%s" $pool.name) }}
115+
{{ setResourceNameAnnotation (printf "delete-%s-before-parent-pool" $pool.name) }}
115116
spec:
116117
replayDeletion: true
117118
by:
@@ -126,7 +127,7 @@ spec:
126127
name: {{ $parentResourceName }}
127128

128129
# -----------------------------------------------------------------------
129-
# Usage: Child Pool uses Parent Pool's CIDR
130+
# Usage: Delete child pool before parent pool's CIDR
130131
# -----------------------------------------------------------------------
131132
{{- if ($parentObs.cidr | default dict).ready }}
132133
{{- $parentCidrResourceName := printf "%s-%s-cidr" $ipam.name $pool.sourcePoolRef }}
@@ -135,9 +136,9 @@ spec:
135136
apiVersion: protection.crossplane.io/v1beta1
136137
kind: Usage
137138
metadata:
138-
name: {{ printf "of-ipam-pool-cidr-%s-by-child-pool-%s" $parentCidrResourceName $pool.resourceName }}
139+
name: {{ printf "delete-%s-before-%s" $pool.resourceName $parentCidrResourceName }}
139140
annotations:
140-
{{ setResourceNameAnnotation (printf "ipam-child-pool-cidr-usage-%s" $pool.name) }}
141+
{{ setResourceNameAnnotation (printf "delete-%s-before-parent-cidr" $pool.name) }}
141142
spec:
142143
replayDeletion: true
143144
by:
@@ -189,17 +190,17 @@ spec:
189190
name: {{ $ipam.providerConfig.name }}
190191

191192
# -----------------------------------------------------------------------
192-
# Usage: CIDR uses Pool
193+
# Usage: Delete CIDR before Pool
193194
# -----------------------------------------------------------------------
194195
{{- if and $pool.ready $pool.cidrReady }}
195196

196197
---
197198
apiVersion: protection.crossplane.io/v1beta1
198199
kind: Usage
199200
metadata:
200-
name: {{ printf "of-ipam-pool-%s-by-pool-cidr-%s" $pool.resourceName $pool.cidrResourceName }}
201+
name: {{ printf "delete-%s-before-%s" $pool.cidrResourceName $pool.resourceName }}
201202
annotations:
202-
{{ setResourceNameAnnotation (printf "ipam-pool-cidr-usage-%s" $pool.name) }}
203+
{{ setResourceNameAnnotation (printf "delete-%s-cidr-before-pool" $pool.name) }}
203204
spec:
204205
replayDeletion: true
205206
by:

0 commit comments

Comments
 (0)