You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Conflicts with label used in creation path for nested RGD (https://github.com/kro-run/kro/pull/631)
37
+
-**Proposed Label:**
38
+
-`kro.run/reconciled-by-rgd: my-rgd-name`
39
+
-**Value:** The name of the ResourceGraphDefinition (e.g., `my-rgd-name`).
36
40
37
41
2.**Label for resources created during instance reconciliation:**
38
-
-**Proposed Label:**`kro.run/created-by`
39
-
-**Value:** The name of the ResourceGraphDefinition (e.g., `my-rgd-name`).
40
-
-**Purpose:** To identify which RGD was used as a template to create a resource during the reconciliation of an instance. This label will be applied to all resources created by the instance controller.
41
-
-**Alternative Names:**`kro.run/managed-by-rgd`, `kro.run/owner-rgd`, `kro.run/template-rgd`. The `managed-by` label is a common pattern in the Kubernetes ecosystem.
42
+
-**Purpose:** To identify which RGD was used as a template to create a resource during the reconciliation of an instance. This label will be applied to all resources created by the instance controller.
-**Value:** The name of the ResourceGraphDefinition (e.g., `my-rgd-name`).
42
49
43
50
3.**Labels for resources to link back to the instance:**
44
-
-**Proposed Labels:**
45
-
-`kro.run/managed-by-instance-group`: The API group of the instance (e.g., `mygroup.example.com`).
46
-
-`kro.run/managed-by-instance-kind`: The kind of the instance (e.g., `MyKind`).
47
-
-`kro.run/managed-by-instance-namespace`: The namespace of the instance (e.g., `default`).
48
-
-`kro.run/managed-by-instance-name`: The name of the instance (e.g., `my-instance`).
49
-
- The `managed-by` label is a common pattern in the Kubernetes ecosystem.
50
-
-**Purpose:** To provide a direct and queryable link from a created resource back to the instance that caused its creation. This set of labels uniquely identifies the instance.
51
-
-**Alternative Name prefix:**`kro.run/owner-`, `kro.run/created-by-`, etc.
51
+
-**Purpose:** To provide a direct and queryable link from a created resource back to the instance that caused its creation. This set of labels uniquely identifies the instance.
-`kro.run/managed-by-instance-group: mygroup.example.com`: The API group of the instance
58
+
-`kro.run/managed-by-instance-kind: MyKind`: The kind of the instance
59
+
-`kro.run/managed-by-instance-namespace: default`: The namespace of the instance.
60
+
-`kro.run/managed-by-instance-name: my-instance`: The name of the instance.
61
+
- The `managed-by` label is a common pattern in the Kubernetes ecosystem.
52
62
53
63
## Other solutions considered
54
64
55
-
We could continue using the existing labels, but their purpose is not as explicit for relationship tracking, which can lead to confusion for users and client tools. We could also use annotations, but labels are better suited for this purpose as they are queryable via the Kubernetes API, which is a key requirement for observability and tooling.
65
+
1. We could continue using the existing labels, but their purpose is not as explicit for relationship tracking, which can lead to confusion for users and client tools.
66
+
2. We could also use annotations, but labels are better suited for this purpose as they are queryable via the Kubernetes API, which is a key requirement for observability and tooling.
56
67
57
68
## Scoping
58
69
59
70
#### What is in scope for this proposal?
60
71
61
-
- Defining and adding the new labels to the KRO API.
62
-
- Updating the instance controller to apply these labels to instances and created resources during reconciliation.
63
-
- Updating the official KRO documentation to reflect the new labels and their usage.
72
+
- Defining and adding the new labels to the KRO API.
73
+
- Updating the instance controller to apply these labels to instances and created resources during reconciliation.
74
+
- Updating the official KRO documentation to reflect the new labels and their usage.
75
+
- Adding docs reflecting the new labels. Old labels would not be documented.
76
+
- Deprecate old labels in next minor release or the one after that.
64
77
65
78
#### What is not in scope?
66
79
67
-
- Removing or deprecating the existing labels. This could be considered in a future proposal to maintain backward compatibility.
0 commit comments