diff --git a/packages/apps/kubernetes/templates/cluster.yaml b/packages/apps/kubernetes/templates/cluster.yaml index a4508a600..9f8977725 100644 --- a/packages/apps/kubernetes/templates/cluster.yaml +++ b/packages/apps/kubernetes/templates/cluster.yaml @@ -55,6 +55,9 @@ spec: annotations: kubevirt.io/allow-pod-bridge-network-live-migration: "true" labels: + apps.cozystack.io/application.group: apps.cozystack.io + apps.cozystack.io/application.kind: Kubernetes + apps.cozystack.io/application.name: {{ $.Release.Name | trimPrefix "kubernetes-" | quote }} {{- range .group.roles }} node-role.kubernetes.io/{{ . }}: "" {{- end }} diff --git a/packages/apps/kubernetes/tests/cluster_test.yaml b/packages/apps/kubernetes/tests/cluster_test.yaml index 88fc71180..93f72f7f3 100644 --- a/packages/apps/kubernetes/tests/cluster_test.yaml +++ b/packages/apps/kubernetes/tests/cluster_test.yaml @@ -444,3 +444,38 @@ tests: if /root/kubelet --version ; then mv /root/kubelet /usr/bin/kubelet ; fi if /root/kubeadm version ; then mv /root/kubeadm /usr/bin/kubeadm ; fi documentIndex: 4 + + ############################################### + # application lineage labels on worker VMs # + ############################################### + + - it: stamps application lineage labels on the worker VM template + release: + name: test-k8s + namespace: tenant-test + asserts: + - isKind: + of: KubevirtMachineTemplate + documentIndex: 5 + - equal: + path: spec.template.spec.virtualMachineTemplate.spec.template.metadata.labels["apps.cozystack.io/application.group"] + value: apps.cozystack.io + documentIndex: 5 + - equal: + path: spec.template.spec.virtualMachineTemplate.spec.template.metadata.labels["apps.cozystack.io/application.kind"] + value: Kubernetes + documentIndex: 5 + - equal: + path: spec.template.spec.virtualMachineTemplate.spec.template.metadata.labels["apps.cozystack.io/application.name"] + value: test-k8s + documentIndex: 5 + + - it: derives application.name by trimming the kubernetes- release prefix + release: + name: kubernetes-foo + namespace: tenant-test + asserts: + - equal: + path: spec.template.spec.virtualMachineTemplate.spec.template.metadata.labels["apps.cozystack.io/application.name"] + value: foo + documentIndex: 5