From 4bda4fcaa57d4a344ea5a3a66e8c1a2ea2f04fda Mon Sep 17 00:00:00 2001 From: Grant Rodgers Date: Tue, 6 Aug 2019 09:39:55 -0700 Subject: [PATCH] Automatic release tag labels (#507) * Label resources when tagged release is built Eliminates the need to manually update release tags for each release. Copied from serving. * Add release labels to all non-configmap resources ConfigMaps are expected to be updated by users, so they don't get release tags. --- camel/source/config/100-namespace.yaml | 2 ++ camel/source/config/200-serviceaccount.yaml | 2 ++ camel/source/config/201-clusterrole.yaml | 2 ++ camel/source/config/202-clusterrolebinding.yaml | 4 ++++ camel/source/config/300-camelsource.yaml | 1 + camel/source/config/400-controller-service.yaml | 1 + camel/source/config/500-controller.yaml | 1 + hack/release.sh | 11 ++++++++++- kafka/source/config/100-namespace.yaml | 2 ++ kafka/source/config/200-serviceaccount.yaml | 2 ++ kafka/source/config/201-clusterrole.yaml | 2 ++ kafka/source/config/202-clusterrolebinding.yaml | 6 +++++- kafka/source/config/300-kafkasource.yaml | 1 + kafka/source/config/400-controller-service.yaml | 1 + kafka/source/config/500-controller.yaml | 1 + 15 files changed, 37 insertions(+), 2 deletions(-) diff --git a/camel/source/config/100-namespace.yaml b/camel/source/config/100-namespace.yaml index 869c97bf5f..191577e146 100644 --- a/camel/source/config/100-namespace.yaml +++ b/camel/source/config/100-namespace.yaml @@ -16,3 +16,5 @@ apiVersion: v1 kind: Namespace metadata: name: knative-sources + labels: + contrib.eventing.knative.dev/release: devel diff --git a/camel/source/config/200-serviceaccount.yaml b/camel/source/config/200-serviceaccount.yaml index d87a6aebf1..b1b00e1f98 100644 --- a/camel/source/config/200-serviceaccount.yaml +++ b/camel/source/config/200-serviceaccount.yaml @@ -17,3 +17,5 @@ kind: ServiceAccount metadata: name: camel-controller-manager namespace: knative-sources + labels: + contrib.eventing.knative.dev/release: devel diff --git a/camel/source/config/201-clusterrole.yaml b/camel/source/config/201-clusterrole.yaml index 56b63ba00b..6b482868a7 100644 --- a/camel/source/config/201-clusterrole.yaml +++ b/camel/source/config/201-clusterrole.yaml @@ -16,6 +16,8 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: camel-controller + labels: + contrib.eventing.knative.dev/release: devel rules: - apiGroups: - apps diff --git a/camel/source/config/202-clusterrolebinding.yaml b/camel/source/config/202-clusterrolebinding.yaml index 32819be185..6206b8a28a 100644 --- a/camel/source/config/202-clusterrolebinding.yaml +++ b/camel/source/config/202-clusterrolebinding.yaml @@ -16,6 +16,8 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: camel-controller-rolebinding + labels: + contrib.eventing.knative.dev/release: devel roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole @@ -31,6 +33,8 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: eventing-sources-camel-controller-addressable-resolver + labels: + contrib.eventing.knative.dev/release: devel subjects: - kind: ServiceAccount name: camel-controller-manager diff --git a/camel/source/config/300-camelsource.yaml b/camel/source/config/300-camelsource.yaml index 7306f4b580..3e15d21f88 100644 --- a/camel/source/config/300-camelsource.yaml +++ b/camel/source/config/300-camelsource.yaml @@ -17,6 +17,7 @@ kind: CustomResourceDefinition metadata: creationTimestamp: null labels: + contrib.eventing.knative.dev/release: devel eventing.knative.dev/source: "true" knative.dev/crd-install: "true" name: camelsources.sources.eventing.knative.dev diff --git a/camel/source/config/400-controller-service.yaml b/camel/source/config/400-controller-service.yaml index ef9f8fc741..322d803811 100644 --- a/camel/source/config/400-controller-service.yaml +++ b/camel/source/config/400-controller-service.yaml @@ -16,6 +16,7 @@ apiVersion: v1 kind: Service metadata: labels: + contrib.eventing.knative.dev/release: devel control-plane: camel-controller-manager name: camel-controller-manager namespace: knative-sources diff --git a/camel/source/config/500-controller.yaml b/camel/source/config/500-controller.yaml index cf81bc751b..17e10819cf 100644 --- a/camel/source/config/500-controller.yaml +++ b/camel/source/config/500-controller.yaml @@ -16,6 +16,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: labels: + contrib.eventing.knative.dev/release: devel control-plane: camel-controller-manager name: camel-controller-manager namespace: knative-sources diff --git a/hack/release.sh b/hack/release.sh index d06e2241aa..bf0b7a240a 100755 --- a/hack/release.sh +++ b/hack/release.sh @@ -32,11 +32,20 @@ COMPONENTS=( readonly COMPONENTS function build_release() { + # Update release labels if this is a tagged release + if [[ -n "${TAG}" ]]; then + echo "Tagged release, updating release labels to contrib.eventing.knative.dev/release: \"${TAG}\"" + LABEL_YAML_CMD=(sed -e "s|contrib.eventing.knative.dev/release: devel|contrib.eventing.knative.dev/release: \"${TAG}\"|") + else + echo "Untagged release, will NOT update release labels" + LABEL_YAML_CMD=(cat) + fi + local all_yamls=() for yaml in "${!COMPONENTS[@]}"; do local config="${COMPONENTS[${yaml}]}" echo "Building Knative Eventing Sources - ${config}" - ko resolve ${KO_FLAGS} -f ${config}/ > ${yaml} + ko resolve ${KO_FLAGS} -f ${config}/ | "${LABEL_YAML_CMD[@]}" > ${yaml} all_yamls+=(${yaml}) done ARTIFACTS_TO_PUBLISH="${all_yamls[@]}" diff --git a/kafka/source/config/100-namespace.yaml b/kafka/source/config/100-namespace.yaml index 869c97bf5f..191577e146 100644 --- a/kafka/source/config/100-namespace.yaml +++ b/kafka/source/config/100-namespace.yaml @@ -16,3 +16,5 @@ apiVersion: v1 kind: Namespace metadata: name: knative-sources + labels: + contrib.eventing.knative.dev/release: devel diff --git a/kafka/source/config/200-serviceaccount.yaml b/kafka/source/config/200-serviceaccount.yaml index 1f315a9c11..8bd3a877bf 100644 --- a/kafka/source/config/200-serviceaccount.yaml +++ b/kafka/source/config/200-serviceaccount.yaml @@ -17,3 +17,5 @@ kind: ServiceAccount metadata: name: kafka-controller-manager namespace: knative-sources + labels: + contrib.eventing.knative.dev/release: devel diff --git a/kafka/source/config/201-clusterrole.yaml b/kafka/source/config/201-clusterrole.yaml index ee7fd90099..48173b45a1 100644 --- a/kafka/source/config/201-clusterrole.yaml +++ b/kafka/source/config/201-clusterrole.yaml @@ -16,6 +16,8 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: eventing-sources-kafka-controller + labels: + contrib.eventing.knative.dev/release: devel rules: - apiGroups: diff --git a/kafka/source/config/202-clusterrolebinding.yaml b/kafka/source/config/202-clusterrolebinding.yaml index 55b8adddf6..09d329f145 100644 --- a/kafka/source/config/202-clusterrolebinding.yaml +++ b/kafka/source/config/202-clusterrolebinding.yaml @@ -16,6 +16,8 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: eventing-sources-kafka-controller + labels: + contrib.eventing.knative.dev/release: devel subjects: - kind: ServiceAccount name: kafka-controller-manager @@ -30,7 +32,9 @@ roleRef: apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: - name: eventing-sources-kafka-controller-addressable-resolver + name: eventing-sources-kafka-controller-addressable-resolver + labels: + contrib.eventing.knative.dev/release: devel subjects: - kind: ServiceAccount name: kafka-controller-manager diff --git a/kafka/source/config/300-kafkasource.yaml b/kafka/source/config/300-kafkasource.yaml index 5728081dc9..19eff12584 100644 --- a/kafka/source/config/300-kafkasource.yaml +++ b/kafka/source/config/300-kafkasource.yaml @@ -16,6 +16,7 @@ apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: labels: + contrib.eventing.knative.dev/release: devel eventing.knative.dev/source: "true" knative.dev/crd-install: "true" name: kafkasources.sources.eventing.knative.dev diff --git a/kafka/source/config/400-controller-service.yaml b/kafka/source/config/400-controller-service.yaml index 1944bf449e..34e3454575 100644 --- a/kafka/source/config/400-controller-service.yaml +++ b/kafka/source/config/400-controller-service.yaml @@ -18,6 +18,7 @@ metadata: name: kafka-controller namespace: knative-sources labels: + contrib.eventing.knative.dev/release: devel control-plane: kafka-controller-manager spec: selector: diff --git a/kafka/source/config/500-controller.yaml b/kafka/source/config/500-controller.yaml index 10285df64b..c3dcd85dd0 100644 --- a/kafka/source/config/500-controller.yaml +++ b/kafka/source/config/500-controller.yaml @@ -18,6 +18,7 @@ metadata: name: kafka-controller-manager namespace: knative-sources labels: + contrib.eventing.knative.dev/release: devel control-plane: kafka-controller-manager spec: selector: