Skip to content

Commit 0ff38a9

Browse files
authored
Merge pull request #876 from Scrumplex/feat/add-crossplane-namespace-tag
Add crossplane-namespace tag to managed resources
2 parents 3f03019 + 89bbbbb commit 0ff38a9

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

pkg/resource/resource.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ const SecretTypeConnection corev1.SecretType = "connection.crossplane.io/v1alpha
4949
const (
5050
ExternalResourceTagKeyKind = "crossplane-kind"
5151
ExternalResourceTagKeyName = "crossplane-name"
52+
ExternalResourceTagKeyNamespace = "crossplane-namespace"
5253
ExternalResourceTagKeyProvider = "crossplane-providerconfig"
5354
ExternalResourceTagKeyProviderConfigKind = "crossplane-providerconfig-kind"
5455

@@ -414,6 +415,10 @@ func GetExternalTags(mg Managed) map[string]string {
414415
ExternalResourceTagKeyName: mg.GetName(),
415416
}
416417

418+
if namespace := mg.GetNamespace(); namespace != "" {
419+
tags[ExternalResourceTagKeyNamespace] = namespace
420+
}
421+
417422
switch mg := mg.(type) {
418423
case TypedProviderConfigReferencer:
419424
if pcRef := mg.GetProviderConfigReference(); pcRef != nil {

pkg/resource/resource_test.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -636,6 +636,24 @@ func TestGetExternalTags(t *testing.T) {
636636
ExternalResourceTagKeyProviderConfigKind: "ProviderConfig",
637637
},
638638
},
639+
"SuccessfulWithNamespacedObject": {
640+
o: &fake.ModernManaged{
641+
ObjectMeta: metav1.ObjectMeta{
642+
Name: name,
643+
Namespace: namespace,
644+
},
645+
TypedProviderConfigReferencer: fake.TypedProviderConfigReferencer{
646+
Ref: &xpv1.ProviderConfigReference{Name: provName, Kind: "ProviderConfig"},
647+
},
648+
},
649+
want: map[string]string{
650+
ExternalResourceTagKeyKind: strings.ToLower((&fake.Managed{}).GetObjectKind().GroupVersionKind().GroupKind().String()),
651+
ExternalResourceTagKeyName: name,
652+
ExternalResourceTagKeyNamespace: namespace,
653+
ExternalResourceTagKeyProvider: provName,
654+
ExternalResourceTagKeyProviderConfigKind: "ProviderConfig",
655+
},
656+
},
639657
"SuccessfulWithLegacyProviderConfig": {
640658
o: &fake.LegacyManaged{
641659
ObjectMeta: metav1.ObjectMeta{

0 commit comments

Comments
 (0)