diff --git a/.github/workflows/integration-test-profile.yaml b/.github/workflows/integration-test-profile.yaml index 41891685..a4c55ca9 100644 --- a/.github/workflows/integration-test-profile.yaml +++ b/.github/workflows/integration-test-profile.yaml @@ -32,7 +32,7 @@ jobs: PROFILE_INPUT: ${{ inputs.test-profile }} shell: bash run: | - if [ "$EVENT_NAME" == "schedule" ]; then + if [ "$GITHUB_EVENT_NAME" == "schedule" ]; then echo "PROFILE=schedule" | tee -a "$GITHUB_OUTPUT" else echo "PROFILE=${PROFILE_INPUT}" | tee -a "$GITHUB_OUTPUT" diff --git a/deploy/helm/airflow-operator/templates/_helpers.tpl b/deploy/helm/airflow-operator/templates/_helpers.tpl index e5354470..6bc3a2aa 100644 --- a/deploy/helm/airflow-operator/templates/_helpers.tpl +++ b/deploy/helm/airflow-operator/templates/_helpers.tpl @@ -1,14 +1,14 @@ {{/* Expand the name of the chart. */}} -{{- define "operator.name" -}} +{{- define "airflow-operator.name" -}} {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-operator" }} {{- end }} {{/* Expand the name of the chart. */}} -{{- define "operator.appname" -}} +{{- define "airflow-operator.appname" -}} {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} {{- end }} @@ -17,7 +17,7 @@ Create a default fully qualified app name. We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). If release name contains chart name it will be used as a full name. */}} -{{- define "operator.fullname" -}} +{{- define "airflow-operator.fullname" -}} {{- if .Values.fullnameOverride }} {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} {{- else }} @@ -33,16 +33,16 @@ If release name contains chart name it will be used as a full name. {{/* Create chart name and version as used by the chart label. */}} -{{- define "operator.chart" -}} +{{- define "airflow-operator.chart" -}} {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} {{- end }} {{/* Common labels */}} -{{- define "operator.labels" -}} -helm.sh/chart: {{ include "operator.chart" . }} -{{ include "operator.selectorLabels" . }} +{{- define "airflow-operator.labels" -}} +helm.sh/chart: {{ include "airflow-operator.chart" . }} +{{ include "airflow-operator.selectorLabels" . }} {{- if .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} {{- end }} @@ -52,8 +52,8 @@ app.kubernetes.io/managed-by: {{ .Release.Service }} {{/* Selector labels */}} -{{- define "operator.selectorLabels" -}} -app.kubernetes.io/name: {{ include "operator.appname" . }} +{{- define "airflow-operator.selectorLabels" -}} +app.kubernetes.io/name: {{ include "airflow-operator.appname" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- with .Values.labels }} {{ toYaml . }} @@ -63,9 +63,9 @@ app.kubernetes.io/instance: {{ .Release.Name }} {{/* Create the name of the service account to use */}} -{{- define "operator.serviceAccountName" -}} +{{- define "airflow-operator.serviceAccountName" -}} {{- if .Values.serviceAccount.create }} -{{- default (printf "%s-serviceaccount" (include "operator.fullname" .)) .Values.serviceAccount.name }} +{{- default (printf "%s-serviceaccount" (include "airflow-operator.fullname" .)) .Values.serviceAccount.name }} {{- else }} {{- required "serviceAccount.name is required when serviceAccount.create is false, because the chart then does not create a ServiceAccount for the operator to run as." .Values.serviceAccount.name }} {{- end }} @@ -74,13 +74,13 @@ Create the name of the service account to use {{/* Labels for Kubernetes objects created by helm test */}} -{{- define "operator.testLabels" -}} -helm.sh/test: {{ include "operator.chart" . }} +{{- define "airflow-operator.testLabels" -}} +helm.sh/test: {{ include "airflow-operator.chart" . }} {{- end }} {{/* Build the full operator container image reference. */}} -{{- define "operator.image" -}} +{{- define "airflow-operator.image" -}} {{- printf "%s/%s:%s" .Values.image.repository .Chart.Name (.Values.image.tag | default .Chart.AppVersion) -}} {{- end }} diff --git a/deploy/helm/airflow-operator/templates/_maintenance.tpl b/deploy/helm/airflow-operator/templates/_maintenance.tpl index 85afd7f2..64fc1851 100644 --- a/deploy/helm/airflow-operator/templates/_maintenance.tpl +++ b/deploy/helm/airflow-operator/templates/_maintenance.tpl @@ -1,7 +1,7 @@ {{/* Create a list of maintenance related env vars. */}} -{{- define "maintenance.envVars" -}} +{{- define "airflow-operator.maintenance.envVars" -}} {{- with .Values.maintenance }} {{- if not .endOfSupportCheck.enabled }} - name: EOS_DISABLED diff --git a/deploy/helm/airflow-operator/templates/_telemetry.tpl b/deploy/helm/airflow-operator/templates/_telemetry.tpl index 8ef99bbf..27bddac5 100644 --- a/deploy/helm/airflow-operator/templates/_telemetry.tpl +++ b/deploy/helm/airflow-operator/templates/_telemetry.tpl @@ -1,7 +1,7 @@ {{/* Create a list of telemetry related env vars. */}} -{{- define "telemetry.envVars" -}} +{{- define "airflow-operator.telemetry.envVars" -}} {{- with .Values.telemetry }} {{- if not .consoleLog.enabled }} - name: CONSOLE_LOG_DISABLED @@ -17,7 +17,7 @@ Create a list of telemetry related env vars. {{ end }} {{- if .fileLog.enabled }} - name: FILE_LOG_DIRECTORY - value: /stackable/logs/{{ include "operator.appname" $ }} + value: /stackable/logs/{{ include "airflow-operator.appname" $ }} {{- end }} {{- if and .fileLog.enabled .fileLog.level }} - name: FILE_LOG_LEVEL diff --git a/deploy/helm/airflow-operator/templates/clusterrole-operator.yaml b/deploy/helm/airflow-operator/templates/clusterrole-operator.yaml index e922e463..28460985 100644 --- a/deploy/helm/airflow-operator/templates/clusterrole-operator.yaml +++ b/deploy/helm/airflow-operator/templates/clusterrole-operator.yaml @@ -2,9 +2,9 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - name: {{ include "operator.fullname" . }}-clusterrole + name: {{ include "airflow-operator.fullname" . }}-clusterrole labels: - {{- include "operator.labels" . | nindent 4 }} + {{- include "airflow-operator.labels" . | nindent 4 }} rules: # For automatic cluster domain detection - apiGroups: @@ -52,7 +52,7 @@ rules: verbs: - bind resourceNames: - - {{ include "operator.name" . }}-clusterrole + - {{ include "airflow-operator.name" . }}-clusterrole # StatefulSets for each role group (webserver, scheduler, worker, triggerer, dag-processor). # Applied via SSA (create + patch), tracked for orphan cleanup (list + delete). - apiGroups: @@ -111,18 +111,18 @@ rules: # Primary reconciliation target: the controller watches AirflowCluster resources (list + watch) # and reads them during reconciliation (get). - apiGroups: - - {{ include "operator.name" . }}.stackable.tech + - {{ include "airflow-operator.name" . }}.stackable.tech resources: - - {{ include "operator.name" . }}clusters + - {{ include "airflow-operator.name" . }}clusters verbs: - get - list - watch # Write reconciliation status conditions back to AirflowCluster objects - apiGroups: - - {{ include "operator.name" . }}.stackable.tech + - {{ include "airflow-operator.name" . }}.stackable.tech resources: - - {{ include "operator.name" . }}clusters/status + - {{ include "airflow-operator.name" . }}clusters/status verbs: - patch # Resolve TLS and authentication provider configuration. diff --git a/deploy/helm/airflow-operator/templates/clusterrole-product.yaml b/deploy/helm/airflow-operator/templates/clusterrole-product.yaml index ea6fbe39..c55d8f31 100644 --- a/deploy/helm/airflow-operator/templates/clusterrole-product.yaml +++ b/deploy/helm/airflow-operator/templates/clusterrole-product.yaml @@ -4,9 +4,9 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - name: {{ include "operator.name" . }}-clusterrole + name: {{ include "airflow-operator.name" . }}-clusterrole labels: - {{- include "operator.labels" . | nindent 4 }} + {{- include "airflow-operator.labels" . | nindent 4 }} rules: # KubernetesExecutor: the Airflow scheduler creates, monitors, and cleans up task pods directly - apiGroups: diff --git a/deploy/helm/airflow-operator/templates/deployment.yaml b/deploy/helm/airflow-operator/templates/deployment.yaml index 86be9ad2..1ef3f188 100644 --- a/deploy/helm/airflow-operator/templates/deployment.yaml +++ b/deploy/helm/airflow-operator/templates/deployment.yaml @@ -2,20 +2,20 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: {{ include "operator.fullname" . }}-deployment + name: {{ include "airflow-operator.fullname" . }}-deployment labels: - {{- include "operator.labels" . | nindent 4 }} + {{- include "airflow-operator.labels" . | nindent 4 }} spec: replicas: 1 strategy: type: Recreate selector: matchLabels: - {{- include "operator.selectorLabels" . | nindent 6 }} + {{- include "airflow-operator.selectorLabels" . | nindent 6 }} template: metadata: annotations: - internal.stackable.tech/image: {{ include "operator.image" . }} + internal.stackable.tech/image: {{ include "airflow-operator.image" . }} {{- with .Values.podAnnotations }} {{- toYaml . | nindent 8 }} {{- end }} @@ -23,20 +23,20 @@ spec: {{- if .Values.maintenance.customResourceDefinitions.maintain }} webhook.stackable.tech/conversion: enabled {{- end }} - {{- include "operator.selectorLabels" . | nindent 8 }} + {{- include "airflow-operator.selectorLabels" . | nindent 8 }} spec: {{- with .Values.image.pullSecrets }} imagePullSecrets: {{- toYaml . | nindent 8 }} {{- end }} - serviceAccountName: {{ include "operator.serviceAccountName" . }} + serviceAccountName: {{ include "airflow-operator.serviceAccountName" . }} securityContext: {{- toYaml .Values.podSecurityContext | nindent 8 }} containers: - - name: {{ include "operator.appname" . }} + - name: {{ include "airflow-operator.appname" . }} securityContext: {{- toYaml .Values.securityContext | nindent 12 }} - image: {{ include "operator.image" . }} + image: {{ include "airflow-operator.image" . }} imagePullPolicy: {{ .Values.image.pullPolicy }} resources: {{- toYaml .Values.resources | nindent 12 }} @@ -64,7 +64,7 @@ spec: # The name of the Kubernetes Service that point to the operator Pod, e.g. used to # construct the conversion webhook endpoint. - name: OPERATOR_SERVICE_NAME - value: {{ include "operator.fullname" . }} + value: {{ include "airflow-operator.fullname" . }} # The product image repository, like "oci.stackable.tech/sdp". - name: IMAGE_REPOSITORY @@ -82,8 +82,8 @@ spec: value: {{ .Values.kubernetesClusterDomain | quote }} {{- end }} - {{- include "telemetry.envVars" . | nindent 12 }} - {{- include "maintenance.envVars" . | nindent 12 }} + {{- include "airflow-operator.telemetry.envVars" . | nindent 12 }} + {{- include "airflow-operator.maintenance.envVars" . | nindent 12 }} {{- with .Values.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} diff --git a/deploy/helm/airflow-operator/templates/service.yaml b/deploy/helm/airflow-operator/templates/service.yaml index 978f914d..c5db7473 100644 --- a/deploy/helm/airflow-operator/templates/service.yaml +++ b/deploy/helm/airflow-operator/templates/service.yaml @@ -6,15 +6,15 @@ metadata: # Note(@sbernauer): We could also call the Service something like # "product-operator-conversion-webhook". However, in the future we will have more webhooks, and # it seems like an overkill to have a dedicated Service per webhook. - name: {{ include "operator.fullname" . }} + name: {{ include "airflow-operator.fullname" . }} labels: - {{- include "operator.labels" . | nindent 4 }} + {{- include "airflow-operator.labels" . | nindent 4 }} spec: selector: {{- if .Values.maintenance.customResourceDefinitions.maintain }} webhook.stackable.tech/conversion: enabled {{- end }} - {{- include "operator.selectorLabels" . | nindent 4 }} + {{- include "airflow-operator.selectorLabels" . | nindent 4 }} ports: - name: conversion-webhook protocol: TCP diff --git a/deploy/helm/airflow-operator/templates/serviceaccount.yaml b/deploy/helm/airflow-operator/templates/serviceaccount.yaml index e0d959e2..3caf513d 100644 --- a/deploy/helm/airflow-operator/templates/serviceaccount.yaml +++ b/deploy/helm/airflow-operator/templates/serviceaccount.yaml @@ -3,9 +3,9 @@ apiVersion: v1 kind: ServiceAccount metadata: - name: {{ include "operator.serviceAccountName" . }} + name: {{ include "airflow-operator.serviceAccountName" . }} labels: - {{- include "operator.labels" . | nindent 4 }} + {{- include "airflow-operator.labels" . | nindent 4 }} {{- with .Values.serviceAccount.annotations }} annotations: {{- toYaml . | nindent 4 }} @@ -17,14 +17,14 @@ apiVersion: rbac.authorization.k8s.io/v1 # operator watch and manage its custom resources across the cluster. kind: ClusterRoleBinding metadata: - name: {{ include "operator.fullname" . }}-clusterrolebinding + name: {{ include "airflow-operator.fullname" . }}-clusterrolebinding labels: - {{- include "operator.labels" . | nindent 4 }} + {{- include "airflow-operator.labels" . | nindent 4 }} subjects: - kind: ServiceAccount - name: {{ include "operator.serviceAccountName" . }} + name: {{ include "airflow-operator.serviceAccountName" . }} namespace: {{ .Release.Namespace }} roleRef: kind: ClusterRole - name: {{ include "operator.fullname" . }}-clusterrole + name: {{ include "airflow-operator.fullname" . }}-clusterrole apiGroup: rbac.authorization.k8s.io