diff --git a/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-create-user-job_ServiceAccount.yml b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-create-user-job_ServiceAccount.yml new file mode 100644 index 00000000000..58f0eab2ffb --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-create-user-job_ServiceAccount.yml @@ -0,0 +1,30 @@ +--- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +########################################### +## Airflow Create User Job ServiceAccount +########################################### +kind: ServiceAccount +apiVersion: v1 +metadata: + name: airflow-helm-create-user-job + labels: + tier: airflow + component: create-user-job + release: airflow-helm + chart: "airflow-1.8.0" + heritage: Helm diff --git a/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-migrate-database-job_ServiceAccount.yml b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-migrate-database-job_ServiceAccount.yml new file mode 100644 index 00000000000..94415285472 --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-migrate-database-job_ServiceAccount.yml @@ -0,0 +1,30 @@ +--- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +############################################# +## Airflow Migrate Database Job ServiceAccount +############################################## +kind: ServiceAccount +apiVersion: v1 +metadata: + name: airflow-helm-migrate-database-job + labels: + tier: airflow + component: run-airflow-migrations + release: airflow-helm + chart: "airflow-1.8.0" + heritage: Helm diff --git a/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-operator-controller-manager-metrics-service_v1_service.yaml b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-operator-controller-manager-metrics-service_v1_service.yaml new file mode 100644 index 00000000000..4c377e1fa57 --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-operator-controller-manager-metrics-service_v1_service.yaml @@ -0,0 +1,23 @@ +apiVersion: v1 +kind: Service +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/component: kube-rbac-proxy + app.kubernetes.io/created-by: airflow-helm-operator + app.kubernetes.io/instance: controller-manager-metrics-service + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: service + app.kubernetes.io/part-of: airflow-helm-operator + control-plane: controller-manager + name: airflow-helm-operator-controller-manager-metrics-service +spec: + ports: + - name: https + port: 8443 + protocol: TCP + targetPort: https + selector: + control-plane: controller-manager +status: + loadBalancer: {} diff --git a/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml new file mode 100644 index 00000000000..3a7b9358c8a --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml @@ -0,0 +1,17 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/component: kube-rbac-proxy + app.kubernetes.io/created-by: airflow-helm-operator + app.kubernetes.io/instance: metrics-reader + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: clusterrole + app.kubernetes.io/part-of: airflow-helm-operator + name: airflow-helm-operator-metrics-reader +rules: +- nonResourceURLs: + - /metrics + verbs: + - get diff --git a/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-operator.clusterserviceversion.yaml b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-operator.clusterserviceversion.yaml new file mode 100644 index 00000000000..d0ec3c5f827 --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-operator.clusterserviceversion.yaml @@ -0,0 +1,273 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: |- + [ + { + "apiVersion": "workflow.apache.org/v1alpha1", + "kind": "AirFlow", + "metadata": { + "name": "airflow-helm" + }, + "spec": {} + } + ] + capabilities: Basic Install + categories: Big Data + createdAt: "2023-06-28T16:57:21Z" + operatorframework.io/suggested-namespace: airflow-helm + operators.operatorframework.io/builder: operator-sdk-v1.30.0 + operators.operatorframework.io/project_layout: hybrid.helm.sdk.operatorframework.io/v1-alpha + name: airflow-helm-operator.v0.0.1 + namespace: placeholder +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - description: Deploys Apache Airflow based on the official helm chart in openshift + kind: AirFlow + name: airflows.workflow.apache.org + version: v1alpha1 + description: Deploys Apache Airflow based on the official helm chart with openshift + specific modifications applied by default + displayName: Airflow Helm Operator + icon: + - base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLSBVcGxvYWRlZCB0bzogU1ZHIFJlcG8sIHd3dy5zdmdyZXBvLmNvbSwgR2VuZXJhdG9yOiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KICAgIDxkZWZzPgogICAgICAgIDxyYWRpYWxHcmFkaWVudCBjeD0iMS41NTc1MDI3NWUtMDUlIiBjeT0iOTkuOTk5OTk0JSIgZng9IjEuNTU3NTAyNzVlLTA1JSIgZnk9Ijk5Ljk5OTk5NCUiIHI9IjEyMC4xMTU2OTclIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLDEuMDAwMDAwKSxzY2FsZSgwLjgzMjUzMSwxLjAwMDAwMCksc2NhbGUoMS4wMDAwMDAsMC44MzI1MzEpLHRyYW5zbGF0ZSgtMC4wMDAwMDAsLTEuMDAwMDAwKSIgaWQ9InJhZGlhbEdyYWRpZW50LTEiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMDBDODEyIiBvZmZzZXQ9IjAlIj4KDTwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzAwNkUwMCIgb2Zmc2V0PSIxMDAlIj4KDTwvc3RvcD4KICAgICAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgICAgIDxyYWRpYWxHcmFkaWVudCBjeD0iNS45NTcwMzEyNWUtMDYlIiBjeT0iLTAuMDAwMzg1NDUzNDIyJSIgZng9IjUuOTU3MDMxMjVlLTA2JSIgZnk9Ii0wLjAwMDM4NTQ1MzQyMiUiIHI9IjEyMC4xMTU2OTclIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLC0wLjAwMDAwNCksc2NhbGUoMS4wMDAwMDAsMC44MzI1MzQpLHJvdGF0ZSg5MC4wMDAwMDApLHNjYWxlKDEuMDAwMDAwLDAuODMyNTMxKSx0cmFuc2xhdGUoLTAuMDAwMDAwLDAuMDAwMDA0KSIgaWQ9InJhZGlhbEdyYWRpZW50LTIiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjNTZBRkZEIiBvZmZzZXQ9IjAlIj4KDTwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzA0QTNGRiIgb2Zmc2V0PSIxMDAlIj4KDTwvc3RvcD4KICAgICAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgICAgIDxyYWRpYWxHcmFkaWVudCBjeD0iOTkuOTk5OTg0NCUiIGN5PSI1Ljk1NzAzMTI2ZS0wNiUiIGZ4PSI5OS45OTk5ODQ0JSIgZnk9IjUuOTU3MDMxMjZlLTA2JSIgcj0iMTIwLjExNTY5NyUiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS4wMDAwMDAsMC4wMDAwMDApLHNjYWxlKDAuODMyNTMxLDEuMDAwMDAwKSxyb3RhdGUoMTgwLjAwMDAwMCksc2NhbGUoMS4wMDAwMDAsMC44MzI1MzEpLHRyYW5zbGF0ZSgtMS4wMDAwMDAsLTAuMDAwMDAwKSIgaWQ9InJhZGlhbEdyYWRpZW50LTMiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjREYxRjAwIiBvZmZzZXQ9IjAlIj4KDTwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzU2MEQwMCIgb2Zmc2V0PSIxMDAlIj4KDTwvc3RvcD4KICAgICAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgICAgIDxyYWRpYWxHcmFkaWVudCBjeD0iOTkuOTk5OTk0JSIgY3k9IjEwMC4wMDA2OTQlIiBmeD0iOTkuOTk5OTk0JSIgZnk9IjEwMC4wMDA2OTQlIiByPSIxMjAuMTE1Njk3JSIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgxLjAwMDAwMCwxLjAwMDAwNyksc2NhbGUoMS4wMDAwMDAsMC44MzI1MzYpLHJvdGF0ZSgtOTAuMDAwMDAwKSxzY2FsZSgxLjAwMDAwMCwwLjgzMjUzMSksdHJhbnNsYXRlKC0xLjAwMDAwMCwtMS4wMDAwMDcpIiBpZD0icmFkaWFsR3JhZGllbnQtNCI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMwMEZGRkQiIG9mZnNldD0iMCUiPgoNPC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMDBEQUZGIiBvZmZzZXQ9IjEwMCUiPgoNPC9zdG9wPgogICAgICAgIDwvcmFkaWFsR3JhZGllbnQ+CiAgICAgICAgPHJhZGlhbEdyYWRpZW50IGN4PSIwLjAwMDM1NDc5Njc4NiUiIGN5PSI5OS45OTk5OTQlIiBmeD0iMC4wMDAzNTQ3OTY3ODYlIiBmeT0iOTkuOTk5OTk0JSIgcj0iOTkuOTk5NjM5OSUiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDQsMS4wMDAwMDApLHNjYWxlKDEuMDAwMDAwLDAuNTczMTA3KSxzY2FsZSgxLjAwMDAwMCwxLjc0NDg4MSksdHJhbnNsYXRlKC0wLjAwMDAwNCwtMS4wMDAwMDApIiBpZD0icmFkaWFsR3JhZGllbnQtNSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMwMDgyMDAiIG9mZnNldD0iMCUiPgoNPC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMDA3NTAwIiBvZmZzZXQ9IjEwMCUiPgoNPC9zdG9wPgogICAgICAgIDwvcmFkaWFsR3JhZGllbnQ+CiAgICAgICAgPHJhZGlhbEdyYWRpZW50IGN4PSI1Ljk1NzAzMTI1ZS0wNiUiIGN5PSI5LjA4MjIzNDI2ZS0wNSUiIGZ4PSI1Ljk1NzAzMTI1ZS0wNiUiIGZ5PSI5LjA4MjIzNDI2ZS0wNSUiIHI9Ijk5Ljk5OTkwMzklIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLDAuMDAwMDAxKSxzY2FsZSgwLjU3MzEwNSwxLjAwMDAwMCkscm90YXRlKDkwLjAwMDAwMCksc2NhbGUoMS4wMDAwMDAsMS43NDQ4ODEpLHRyYW5zbGF0ZSgtMC4wMDAwMDAsLTAuMDAwMDAxKSIgaWQ9InJhZGlhbEdyYWRpZW50LTYiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMzE2NkQ0IiBvZmZzZXQ9IjAlIj4KDTwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzFBNTA5RSIgb2Zmc2V0PSIxMDAlIj4KDTwvc3RvcD4KICAgICAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgICAgIDxyYWRpYWxHcmFkaWVudCBjeD0iMTAwLjAwMDM1NSUiIGN5PSI1Ljk1NzAzMTI2ZS0wNiUiIGZ4PSIxMDAuMDAwMzU1JSIgZnk9IjUuOTU3MDMxMjZlLTA2JSIgcj0iMTAwLjAwMDM1JSIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgxLjAwMDAwNCwwLjAwMDAwMCksc2NhbGUoMS4wMDAwMDAsMC41NzMxMDMpLHJvdGF0ZSgxODAuMDAwMDAwKSxzY2FsZSgxLjAwMDAwMCwxLjc0NDg4MSksdHJhbnNsYXRlKC0xLjAwMDAwNCwtMC4wMDAwMDApIiBpZD0icmFkaWFsR3JhZGllbnQtNyI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM4RTE0MDAiIG9mZnNldD0iMCUiPgoNPC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjNEIwQjAwIiBvZmZzZXQ9IjEwMCUiPgoNPC9zdG9wPgogICAgICAgIDwvcmFkaWFsR3JhZGllbnQ+CiAgICAgICAgPHJhZGlhbEdyYWRpZW50IGN4PSI5OS45OTk5OTQlIiBjeT0iMTAwLjAwMTA0MiUiIGZ4PSI5OS45OTk5OTQlIiBmeT0iMTAwLjAwMTA0MiUiIHI9Ijk5Ljk5OTMzMjUlIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDEuMDAwMDAwLDEuMDAwMDEwKSxzY2FsZSgwLjU3MzEwOSwxLjAwMDAwMCkscm90YXRlKC05MC4wMDAwMDApLHNjYWxlKDEuMDAwMDAwLDEuNzQ0ODgxKSx0cmFuc2xhdGUoLTEuMDAwMDAwLC0xLjAwMDAxMCkiIGlkPSJyYWRpYWxHcmFkaWVudC04Ij4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzAwOTBDNCIgb2Zmc2V0PSIwJSI+Cg08L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMwMDVEOEMiIG9mZnNldD0iMTAwJSI+Cg08L3N0b3A+CiAgICAgICAgPC9yYWRpYWxHcmFkaWVudD4KICAgICAgICA8cmFkaWFsR3JhZGllbnQgY3g9IjQuODgyODEyNDRlLTA3JSIgY3k9Ijk5Ljk5ODkwMTUlIiBmeD0iNC44ODI4MTI0NGUtMDclIiBmeT0iOTkuOTk4OTAxNSUiIHI9Ijk5Ljk5OTk5MTUlIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLDAuOTk5OTg5KSxzY2FsZSgxLjAwMDAwMCwwLjY3OTA2OCksc2NhbGUoMS4wMDAwMDAsMS40NzI1ODYpLHRyYW5zbGF0ZSgtMC4wMDAwMDAsLTAuOTk5OTg5KSIgaWQ9InJhZGlhbEdyYWRpZW50LTkiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMDBDRDFDIiBvZmZzZXQ9IjAlIj4KDTwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzAwRTk1MCIgb2Zmc2V0PSIxMDAlIj4KDTwvc3RvcD4KICAgICAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgICAgIDxyYWRpYWxHcmFkaWVudCBjeD0iLTYuNzQyMTQ0MTRlLTA2JSIgY3k9Ii0xLjE4ODE1MTA0ZS0wNSUiIGZ4PSItNi43NDIxNDQxNGUtMDYlIiBmeT0iLTEuMTg4MTUxMDRlLTA1JSIgcj0iOTkuOTk5OTkxNSUiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMDAwMDAwLC0wLjAwMDAwMCksc2NhbGUoMC42NzkwNzgsMS4wMDAwMDApLHJvdGF0ZSg5MC4wMDAwMDApLHNjYWxlKDEuMDAwMDAwLDEuNDcyNTg2KSx0cmFuc2xhdGUoMC4wMDAwMDAsMC4wMDAwMDApIiBpZD0icmFkaWFsR3JhZGllbnQtMTAiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjQjFDOEZEIiBvZmZzZXQ9IjAlIj4KDTwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzdFQzNGRCIgb2Zmc2V0PSIxMDAlIj4KDTwvc3RvcD4KICAgICAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgICAgIDxyYWRpYWxHcmFkaWVudCBjeD0iOTkuOTk5OTg3MSUiIGN5PSItNi43NDIxNDQxMWUtMDYlIiBmeD0iOTkuOTk5OTg3MSUiIGZ5PSItNi43NDIxNDQxMWUtMDYlIiByPSI5OS45OTk5OTE1JSIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgxLjAwMDAwMCwtMC4wMDAwMDApLHNjYWxlKDEuMDAwMDAwLDAuNjc5MDc4KSxyb3RhdGUoMTgwLjAwMDAwMCksc2NhbGUoMS4wMDAwMDAsMS40NzI1ODYpLHRyYW5zbGF0ZSgtMS4wMDAwMDAsMC4wMDAwMDApIiBpZD0icmFkaWFsR3JhZGllbnQtMTEiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRTEyQTAwIiBvZmZzZXQ9IjAlIj4KDTwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0I2MkYwMCIgb2Zmc2V0PSIxMDAlIj4KDTwvc3RvcD4KICAgICAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgICAgIDxyYWRpYWxHcmFkaWVudCBjeD0iMTAwLjAwMDAwNyUiIGN5PSI5OS45OTk5OTk1JSIgZng9IjEwMC4wMDAwMDclIiBmeT0iOTkuOTk5OTk5NSUiIHI9Ijk5Ljk5ODM2NCUiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS4wMDAwMDAsMS4wMDAwMDApLHNjYWxlKDAuNjc5MDg5LDEuMDAwMDAwKSxyb3RhdGUoLTkwLjAwMDAwMCksc2NhbGUoMS4wMDAwMDAsMS40NzI1ODYpLHRyYW5zbGF0ZSgtMS4wMDAwMDAsLTEuMDAwMDAwKSIgaWQ9InJhZGlhbEdyYWRpZW50LTEyIj4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzAwQjZERCIgb2Zmc2V0PSIwJSI+Cg08L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMwMEZGRkYiIG9mZnNldD0iMTAwJSI+Cg08L3N0b3A+CiAgICAgICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDwvZGVmcz4KCQk8Zz4KCQkJCTxwYXRoIGQ9Ik0xNzkuMiwyMzAuNCBMMjU2LDIzMC40IEwxMzMuMTIsMTI4IEMxMzEuNDMzLDE2NS4xOTMgMTQ3LjgwNywyMDEuNTggMTc5LjIsMjMwLjQiIGZpbGw9InVybCgjcmFkaWFsR3JhZGllbnQtMSkiPgoNPC9wYXRoPgoJCQkJPHBhdGggZD0iTTI1LjYsMTc5LjIgTDI1LjYsMjU2IEwxMjgsMTMzLjEyIEMxMjYuMjU0LDEzMy4wNDEgMTI0LjUxNywxMzMuMDAyIDEyMi43NzUsMTMzLjAwMiBDODcuNDE1LDEzMy4wMDQgNTMuMDY3LDE0OS4yODEgMjUuNiwxNzkuMiIgZmlsbD0idXJsKCNyYWRpYWxHcmFkaWVudC0yKSI+Cg08L3BhdGg+CgkJCQk8cGF0aCBkPSJNMCwyNS42IEwxMjIuODgsMTI4IEMxMjQuNTY3LDkwLjgwOCAxMDguMTkzLDU0LjQyIDc2LjgsMjUuNiBMMCwyNS42IFoiIGZpbGw9InVybCgjcmFkaWFsR3JhZGllbnQtMykiPgoNPC9wYXRoPgoJCQkJPHBhdGggZD0iTTIzMC40LDAgTDEyOCwxMjIuODc5IEMxNjUuMTkzLDEyNC41NjcgMjAxLjU4LDEwOC4xOTIgMjMwLjQsNzYuNzk5IEwyMzAuNCwwIFoiIGZpbGw9InVybCgjcmFkaWFsR3JhZGllbnQtNCkiPgoNPC9wYXRoPgoJCQkJPHBhdGggZD0iTTEyOCwxMjggQzExNi41MjEsMTU3Ljc1NSAxMTguMjU1LDE4OC4wODYgMTMzLjEyLDIxNy42MDEgQzE0OC40OCwyMjUuMjggMTYxLjI4LDIzMC40IDE3OS4yLDIzMC40IEMxNDcuODA3LDIwMS41OCAxMzEuNDMzLDE2NS4xOTMgMTMzLjEyLDEyOCBMMTI4LDEyOCBaIiBmaWxsPSJ1cmwoI3JhZGlhbEdyYWRpZW50LTUpIj4KDTwvcGF0aD4KCQkJCTxwYXRoIGQ9Ik0zOC40LDEzMy4xMiBDMzAuNzIxLDE0OC40ODEgMjUuNiwxNjEuMjggMjUuNiwxNzkuMiBDNTQuNDE5LDE0Ny44MDcgOTAuODA3LDEzMS40MzQgMTI4LDEzMy4xMiBMMTI4LDEyOCBDMTE1LjA1NiwxMjMuMDA3IDEwMi4wMDYsMTIwLjUxNCA4OC45NiwxMjAuNTE0IEM3Mi4wMTQsMTIwLjUxNSA1NS4wNzYsMTI0LjcyMSAzOC40LDEzMy4xMiIgZmlsbD0idXJsKCNyYWRpYWxHcmFkaWVudC02KSI+Cg08L3BhdGg+CgkJCQk8cGF0aCBkPSJNMTIyLjg4LDEyOCBMMTI4LDEyOCBDMTM5LjQ3OCw5OC4yNDUgMTM3Ljc0NSw2Ny45MTMgMTIyLjg4LDM4LjQgQzEwNy41MiwzMC43MiA5NC43MjEsMjUuNiA3Ni44LDI1LjYgQzEwOC4xOTMsNTQuNDIgMTI0LjU2Nyw5MC44MDggMTIyLjg4LDEyOCIgZmlsbD0idXJsKCNyYWRpYWxHcmFkaWVudC03KSI+Cg08L3BhdGg+CgkJCQk8cGF0aCBkPSJNMTI4LDEyMi44NzkgTDEyOCwxMjggQzE1Ny43NTUsMTM5LjQ3OCAxODguMDg2LDEzNy43NDQgMjE3LjYsMTIyLjg3OSBDMjI1LjI4LDEwNy41MjEgMjMwLjQsOTQuNzIxIDIzMC40LDc2Ljc5OSBDMjAxLjU4LDEwOC4xOTIgMTY1LjE5MywxMjQuNTY3IDEyOCwxMjIuODc5IiBmaWxsPSJ1cmwoI3JhZGlhbEdyYWRpZW50LTgpIj4KDTwvcGF0aD4KCQkJCTxwYXRoIGQ9Ik03MS42OCwxNjYuNCBMMTMzLjEyLDIxNy42MDEgQzExOC4yNTUsMTg4LjA4NiAxMTYuNTIxLDE1Ny43NTUgMTI4LDEyOCBDMTI2LjIyNCwxMjcuNDA4IDEyNC4xNDIsMTI3LjEyNCAxMjEuODQyLDEyNy4xMjQgQzEwNC4yNDMsMTI3LjEyNSA3My45NDQsMTQzLjc1OSA3MS42OCwxNjYuNCIgZmlsbD0idXJsKCNyYWRpYWxHcmFkaWVudC05KSI+Cg08L3BhdGg+CgkJCQk8cGF0aCBkPSJNMzguNCwxMzMuMTIgQzY3LjkxNCwxMTguMjU1IDk4LjI0NSwxMTYuNTIyIDEyOCwxMjggQzEzMy4xMiwxMTIuNjQxIDExNS4yLDc0LjI0IDg5LjYsNzEuNjggTDM4LjQsMTMzLjEyIFoiIGZpbGw9InVybCgjcmFkaWFsR3JhZGllbnQtMTApIj4KDTwvcGF0aD4KCQkJCTxwYXRoIGQ9Ik0xMjgsMTI4IEMxNDMuMzYsMTMzLjEyIDE4MS43NTksMTE1LjIgMTg0LjMyLDg5LjYgTDEyMi44OCwzOC40IEMxMzcuNzQ1LDY3LjkxMyAxMzkuNDc4LDk4LjI0NSAxMjgsMTI4IiBmaWxsPSJ1cmwoI3JhZGlhbEdyYWRpZW50LTExKSI+Cg08L3BhdGg+CgkJCQk8cGF0aCBkPSJNMTI4LDEyOCBDMTIyLjg4LDE0My4zNjEgMTQwLjgsMTgxLjc2IDE2Ni40LDE4NC4zMiBMMjE3LjYsMTIyLjg3OSBDMTg4LjA4NiwxMzcuNzQ0IDE1Ny43NTUsMTM5LjQ3OCAxMjgsMTI4IiBmaWxsPSJ1cmwoI3JhZGlhbEdyYWRpZW50LTEyKSI+Cg08L3BhdGg+CgkJCQk8cGF0aCBkPSJNMTI3Ljk5OTgsMTIxLjYwMDQgQzEzMS41MzQ4LDEyMS42MDA0IDEzNC4zOTk4LDEyNC40NjU0IDEzNC4zOTk4LDEyNy45OTk0IEMxMzQuMzk5OCwxMzEuNTM1NCAxMzEuNTM0OCwxMzQuNDAwNCAxMjcuOTk5OCwxMzQuNDAwNCBDMTI0LjQ2NTgsMTM0LjQwMDQgMTIxLjYwMDgsMTMxLjUzNTQgMTIxLjYwMDgsMTI3Ljk5OTQgQzEyMS42MDA4LDEyNC40NjU0IDEyNC40NjU4LDEyMS42MDA0IDEyNy45OTk4LDEyMS42MDA0IiBmaWxsPSIjMDAwMDAwIj4KDTwvcGF0aD4KCQk8L2c+Cjwvc3ZnPg== + mediatype: image/svg+xml + install: + spec: + clusterPermissions: + - rules: + - apiGroups: + - "" + resources: + - namespaces + verbs: + - get + - apiGroups: + - "" + resources: + - secrets + verbs: + - '*' + - apiGroups: + - "" + resources: + - events + verbs: + - create + - apiGroups: + - workflow.apache.org + resources: + - airflows + - airflows/status + - airflows/finalizers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - configmaps + - secrets + - serviceaccounts + - services + verbs: + - '*' + - apiGroups: + - rbac.authorization.k8s.io + resources: + - rolebindings + - roles + verbs: + - '*' + - apiGroups: + - apps + resources: + - deployments + - statefulsets + - jobs + verbs: + - '*' + - apiGroups: + - batch + resources: + - jobs + verbs: + - '*' + - apiGroups: + - authentication.k8s.io + resources: + - tokenreviews + verbs: + - create + - apiGroups: + - authorization.k8s.io + resources: + - subjectaccessreviews + verbs: + - create + serviceAccountName: airflow-helm-operator-controller-manager + deployments: + - label: + app.kubernetes.io/component: manager + app.kubernetes.io/created-by: airflow-helm-operator + app.kubernetes.io/instance: controller-manager + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: deployment + app.kubernetes.io/part-of: airflow-helm-operator + control-plane: controller-manager + name: airflow-helm-operator-controller-manager + spec: + replicas: 1 + selector: + matchLabels: + control-plane: controller-manager + strategy: {} + template: + metadata: + annotations: + kubectl.kubernetes.io/default-container: manager + labels: + control-plane: controller-manager + spec: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/arch + operator: In + values: + - amd64 + - arm64 + - ppc64le + - s390x + - key: kubernetes.io/os + operator: In + values: + - linux + containers: + - args: + - --secure-listen-address=0.0.0.0:8443 + - --upstream=http://127.0.0.1:8080/ + - --logtostderr=true + - --v=0 + image: gcr.io/kubebuilder/kube-rbac-proxy:v0.13.0 + name: kube-rbac-proxy + ports: + - containerPort: 8443 + name: https + protocol: TCP + resources: + limits: + cpu: 500m + memory: 128Mi + requests: + cpu: 5m + memory: 64Mi + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + - args: + - --health-probe-bind-address=:8081 + - --metrics-bind-address=127.0.0.1:8080 + - --leader-elect + - --leader-election-id=airflow-helm-operator + image: quay.io/opdev/airflow-helm-operator:0.0.1 + livenessProbe: + httpGet: + path: /healthz + port: 8081 + initialDelaySeconds: 15 + periodSeconds: 20 + name: manager + readinessProbe: + httpGet: + path: /readyz + port: 8081 + initialDelaySeconds: 5 + periodSeconds: 10 + resources: + limits: + cpu: "1" + memory: 1Gi + requests: + cpu: 10m + memory: 64Mi + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + securityContext: + runAsNonRoot: true + serviceAccountName: airflow-helm-operator-controller-manager + terminationGracePeriodSeconds: 10 + permissions: + - rules: + - apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list + - watch + - create + - update + - patch + - delete + - apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - get + - list + - watch + - create + - update + - patch + - delete + - apiGroups: + - "" + resources: + - events + verbs: + - create + - patch + serviceAccountName: airflow-helm-operator-controller-manager + strategy: deployment + installModes: + - supported: false + type: OwnNamespace + - supported: false + type: SingleNamespace + - supported: false + type: MultiNamespace + - supported: true + type: AllNamespaces + keywords: + - airflow + - data + - batch + - scheduler + - data workflow + links: + - name: Airflow Helm Operator + url: https://airflow-helm-operator.domain + maturity: alpha + minKubeVersion: 1.23.0 + provider: + name: opdev + url: opdev.github.io + version: 0.0.1 diff --git a/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-pod-launcher-role_Role.yml b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-pod-launcher-role_Role.yml new file mode 100644 index 00000000000..6ecd4e62561 --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-pod-launcher-role_Role.yml @@ -0,0 +1,60 @@ +--- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +################################ +## Airflow Pod Launcher Role +################################# +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: airflow-helm-pod-launcher-role + labels: + tier: airflow + release: airflow-helm + chart: "airflow-1.8.0" + heritage: Helm +rules: + - apiGroups: + - "" + resources: + - "pods" + verbs: + - "create" + - "list" + - "get" + - "patch" + - "watch" + - "delete" + - apiGroups: + - "" + resources: + - "pods/log" + verbs: + - "get" + - apiGroups: + - "" + resources: + - "pods/exec" + verbs: + - "create" + - "get" + - apiGroups: + - "" + resources: + - "events" + verbs: + - "list" diff --git a/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-pod-launcher-rolebinding_RoleBinding.yml b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-pod-launcher-rolebinding_RoleBinding.yml new file mode 100644 index 00000000000..82c16deb872 --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-pod-launcher-rolebinding_RoleBinding.yml @@ -0,0 +1,37 @@ +--- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +################################ +## Airflow Pod Launcher Role Binding +################################# +kind: RoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: airflow-helm-pod-launcher-rolebinding + labels: + tier: airflow + release: airflow-helm + chart: "airflow-1.8.0" + heritage: Helm +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: airflow-helm-pod-launcher-role +subjects: + - kind: ServiceAccount + name: airflow-helm-worker + namespace: "airflow-helm" diff --git a/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-pod-log-reader-role_Role.yml b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-pod-log-reader-role_Role.yml new file mode 100644 index 00000000000..b8e1af6864e --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-pod-log-reader-role_Role.yml @@ -0,0 +1,29 @@ +--- +################################ +## Airflow Pod Reader Role +################################# +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: airflow-helm-pod-log-reader-role + labels: + tier: airflow + release: airflow-helm + chart: "airflow-1.8.0" + heritage: Helm +rules: + - apiGroups: + - "" + resources: + - "pods" + verbs: + - "list" + - "get" + - "watch" + - apiGroups: + - "" + resources: + - "pods/log" + verbs: + - "get" + - "list" diff --git a/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-pod-log-reader-rolebinding_RoleBinding.yml b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-pod-log-reader-rolebinding_RoleBinding.yml new file mode 100644 index 00000000000..0ccdf52765b --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-pod-log-reader-rolebinding_RoleBinding.yml @@ -0,0 +1,40 @@ +--- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +################################ +## Airflow Pod Reader Role Binding +################################# +kind: RoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: airflow-helm-pod-log-reader-rolebinding + labels: + tier: airflow + release: airflow-helm + chart: "airflow-1.8.0" + heritage: Helm +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: airflow-helm-pod-log-reader-role +subjects: + - kind: ServiceAccount + name: airflow-helm-webserver + namespace: "airflow-helm" + - kind: ServiceAccount + name: airflow-helm-triggerer + namespace: "airflow-helm" diff --git a/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-postgresql_Role.yml b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-postgresql_Role.yml new file mode 100644 index 00000000000..26c0a9dc7b6 --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-postgresql_Role.yml @@ -0,0 +1,37 @@ +--- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: airflow-helm-postgresql + labels: + release: airflow-helm + helm.sh/chart: postgresql-12.1.9 + app.kubernetes.io/name: postgresql + app.kubernetes.io/instance: airflow-helm + app.kubernetes.io/managed-by: Helm +# yamllint disable rule:indentation +rules: + - apiGroups: + - security.openshift.io + resourceNames: + - anyuid + resources: + - securitycontextconstraints + verbs: + - use diff --git a/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-postgresql_RoleBinding.yml b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-postgresql_RoleBinding.yml new file mode 100644 index 00000000000..ad81541421d --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-postgresql_RoleBinding.yml @@ -0,0 +1,35 @@ +--- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +kind: RoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: airflow-helm-postgresql + labels: + release: airflow-helm + helm.sh/chart: postgresql-12.1.9 + app.kubernetes.io/name: postgresql + app.kubernetes.io/instance: airflow-helm + app.kubernetes.io/managed-by: Helm +roleRef: + kind: Role + name: airflow-helm-postgresql + apiGroup: rbac.authorization.k8s.io +subjects: + - kind: ServiceAccount + name: airflow-helm-postgresql + namespace: "airflow-helm" diff --git a/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-postgresql_ServiceAccount.yml b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-postgresql_ServiceAccount.yml new file mode 100644 index 00000000000..c68f6ba54f6 --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-postgresql_ServiceAccount.yml @@ -0,0 +1,29 @@ +--- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +apiVersion: v1 +kind: ServiceAccount +metadata: + name: airflow-helm-postgresql + labels: + release: airflow-helm + helm.sh/chart: postgresql-12.1.9 + app.kubernetes.io/name: postgresql + app.kubernetes.io/instance: airflow-helm + app.kubernetes.io/managed-by: Helm + annotations: +automountServiceAccountToken: true diff --git a/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-redis_Role.yml b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-redis_Role.yml new file mode 100644 index 00000000000..97451653ca8 --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-redis_Role.yml @@ -0,0 +1,36 @@ +--- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: airflow-helm-redis + labels: + release: airflow-helm + app.kubernetes.io/name: redis + app.kubernetes.io/instance: airflow-helm + app.kubernetes.io/managed-by: Helm +# yamllint disable rule:indentation +rules: + - apiGroups: + - security.openshift.io + resourceNames: + - anyuid + resources: + - securitycontextconstraints + verbs: + - use diff --git a/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-redis_RoleBinding.yml b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-redis_RoleBinding.yml new file mode 100644 index 00000000000..9d88aa9f1fa --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-redis_RoleBinding.yml @@ -0,0 +1,34 @@ +--- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +kind: RoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: airflow-helm-redis + labels: + app.kubernetes.io/name: redis + app.kubernetes.io/instance: airflow-helm + app.kubernetes.io/managed-by: Helm + release: airflow-helm +roleRef: + kind: Role + name: airflow-helm-redis + apiGroup: rbac.authorization.k8s.io +subjects: + - kind: ServiceAccount + name: airflow-helm-redis + namespace: "airflow-helm" diff --git a/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-redis_ServiceAccount.yml b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-redis_ServiceAccount.yml new file mode 100644 index 00000000000..c9db73655f7 --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-redis_ServiceAccount.yml @@ -0,0 +1,29 @@ +--- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +###################################### +## Airflow Redis ServiceAccount +###################################### +kind: ServiceAccount +apiVersion: v1 +metadata: + name: airflow-helm-redis + labels: + release: airflow-helm + app.kubernetes.io/name: redis + app.kubernetes.io/instance: airflow-helm + app.kubernetes.io/managed-by: Helm diff --git a/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-scc-rolebinding_RoleBinding.yml b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-scc-rolebinding_RoleBinding.yml new file mode 100644 index 00000000000..d44f11eeac5 --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-scc-rolebinding_RoleBinding.yml @@ -0,0 +1,39 @@ +--- +################################ +## Airflow SCC Role Binding +################################# +kind: RoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: airflow-helm-scc-rolebinding + labels: + tier: airflow + release: airflow-helm + chart: "airflow-1.8.0" + heritage: Helm +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: system:openshift:scc:anyuid +subjects: + - kind: ServiceAccount + name: airflow-helm-webserver + namespace: "airflow-helm" + - kind: ServiceAccount + name: airflow-helm-worker + namespace: "airflow-helm" + - kind: ServiceAccount + name: airflow-helm-scheduler + namespace: "airflow-helm" + - kind: ServiceAccount + name: airflow-helm-statsd + namespace: "airflow-helm" + - kind: ServiceAccount + name: airflow-helm-triggerer + namespace: "airflow-helm" + - kind: ServiceAccount + name: airflow-helm-migrate-database-job + namespace: "airflow-helm" + - kind: ServiceAccount + name: airflow-helm-create-user-job + namespace: "airflow-helm" diff --git a/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-scheduler_ServiceAccount.yml b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-scheduler_ServiceAccount.yml new file mode 100644 index 00000000000..21a507bf033 --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-scheduler_ServiceAccount.yml @@ -0,0 +1,30 @@ +--- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +################################ +## Airflow Scheduler ServiceAccount +################################# +kind: ServiceAccount +apiVersion: v1 +metadata: + name: airflow-helm-scheduler + labels: + tier: airflow + component: scheduler + release: airflow-helm + chart: "airflow-1.8.0" + heritage: Helm diff --git a/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-statsd_ServiceAccount.yml b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-statsd_ServiceAccount.yml new file mode 100644 index 00000000000..1dfa8490ba7 --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-statsd_ServiceAccount.yml @@ -0,0 +1,30 @@ +--- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +###################################### +## Airflow StatsD ServiceAccount +###################################### +kind: ServiceAccount +apiVersion: v1 +metadata: + name: airflow-helm-statsd + labels: + tier: airflow + component: statsd + release: airflow-helm + chart: "airflow-1.8.0" + heritage: Helm diff --git a/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-triggerer_ServiceAccount.yml b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-triggerer_ServiceAccount.yml new file mode 100644 index 00000000000..51a577c7c95 --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-triggerer_ServiceAccount.yml @@ -0,0 +1,30 @@ +--- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +################################ +## Airflow Triggerer ServiceAccount +################################# +kind: ServiceAccount +apiVersion: v1 +metadata: + name: airflow-helm-triggerer + labels: + tier: airflow + component: triggerer + release: airflow-helm + chart: "airflow-1.8.0" + heritage: Helm diff --git a/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-webserver_ServiceAccount.yml b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-webserver_ServiceAccount.yml new file mode 100644 index 00000000000..e387c09635f --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-webserver_ServiceAccount.yml @@ -0,0 +1,30 @@ +--- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +###################################### +## Airflow Webserver ServiceAccount +###################################### +kind: ServiceAccount +apiVersion: v1 +metadata: + name: airflow-helm-webserver + labels: + tier: airflow + component: webserver + release: airflow-helm + chart: "airflow-1.8.0" + heritage: Helm diff --git a/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-worker_ServiceAccount.yml b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-worker_ServiceAccount.yml new file mode 100644 index 00000000000..7cbd4ba31b3 --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/manifests/airflow-helm-worker_ServiceAccount.yml @@ -0,0 +1,14 @@ +--- +################################ +## Airflow Worker ServiceAccount +################################# +kind: ServiceAccount +apiVersion: v1 +metadata: + name: airflow-helm-worker + labels: + tier: airflow + component: worker + release: airflow-helm + chart: "airflow-1.8.0" + heritage: Helm diff --git a/operators/airflow-helm-operator/0.0.1/manifests/workflow.apache.org_airflows.yaml b/operators/airflow-helm-operator/0.0.1/manifests/workflow.apache.org_airflows.yaml new file mode 100644 index 00000000000..7299e5a43e0 --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/manifests/workflow.apache.org_airflows.yaml @@ -0,0 +1,50 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + creationTimestamp: null + name: airflows.workflow.apache.org +spec: + group: workflow.apache.org + names: + kind: AirFlow + listKind: AirFlowList + plural: airflows + singular: airflow + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: AirFlow is the Schema for the airflows API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec defines the desired state of AirFlow + type: object + x-kubernetes-preserve-unknown-fields: true + status: + description: Status defines the observed state of AirFlow + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/airflow-helm-operator/0.0.1/metadata/annotations.yaml b/operators/airflow-helm-operator/0.0.1/metadata/annotations.yaml new file mode 100644 index 00000000000..2b373929e50 --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/metadata/annotations.yaml @@ -0,0 +1,14 @@ +annotations: + # Core bundle annotations. + operators.operatorframework.io.bundle.mediatype.v1: registry+v1 + operators.operatorframework.io.bundle.manifests.v1: manifests/ + operators.operatorframework.io.bundle.metadata.v1: metadata/ + operators.operatorframework.io.bundle.package.v1: airflow-helm-operator + operators.operatorframework.io.bundle.channels.v1: alpha + operators.operatorframework.io.metrics.builder: operator-sdk-v1.30.0 + operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 + operators.operatorframework.io.metrics.project_layout: hybrid.helm.sdk.operatorframework.io/v1-alpha + + # Annotations for testing. + operators.operatorframework.io.test.mediatype.v1: scorecard+v1 + operators.operatorframework.io.test.config.v1: tests/scorecard/ diff --git a/operators/airflow-helm-operator/0.0.1/tests/scorecard/config.yaml b/operators/airflow-helm-operator/0.0.1/tests/scorecard/config.yaml new file mode 100644 index 00000000000..024997b692f --- /dev/null +++ b/operators/airflow-helm-operator/0.0.1/tests/scorecard/config.yaml @@ -0,0 +1,70 @@ +apiVersion: scorecard.operatorframework.io/v1alpha3 +kind: Configuration +metadata: + name: config +stages: +- parallel: true + tests: + - entrypoint: + - scorecard-test + - basic-check-spec + image: quay.io/operator-framework/scorecard-test:v1.27.0 + labels: + suite: basic + test: basic-check-spec-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-bundle-validation + image: quay.io/operator-framework/scorecard-test:v1.27.0 + labels: + suite: olm + test: olm-bundle-validation-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-crds-have-validation + image: quay.io/operator-framework/scorecard-test:v1.27.0 + labels: + suite: olm + test: olm-crds-have-validation-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-crds-have-resources + image: quay.io/operator-framework/scorecard-test:v1.27.0 + labels: + suite: olm + test: olm-crds-have-resources-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-spec-descriptors + image: quay.io/operator-framework/scorecard-test:v1.27.0 + labels: + suite: olm + test: olm-spec-descriptors-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-status-descriptors + image: quay.io/operator-framework/scorecard-test:v1.27.0 + labels: + suite: olm + test: olm-status-descriptors-test + storage: + spec: + mountPath: {} +storage: + spec: + mountPath: {} diff --git a/operators/airflow-helm-operator/ci.yaml b/operators/airflow-helm-operator/ci.yaml new file mode 100644 index 00000000000..e918f1cd0f0 --- /dev/null +++ b/operators/airflow-helm-operator/ci.yaml @@ -0,0 +1,4 @@ +--- +updateGraph: semver-mode +reviewers: + - skattoju