Source code for airflow.providers.cncf.kubernetes.kube_config
# 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.from__future__importannotationsfromairflow.configurationimportconffromairflow.exceptionsimportAirflowConfigExceptionfromairflow.settingsimportAIRFLOW_HOME
[docs]classKubeConfig:"""Configuration for Kubernetes."""
ifself.worker_container_repositoryandself.worker_container_tag:self.kube_image=f"{self.worker_container_repository}:{self.worker_container_tag}"else:self.kube_image=None# The Kubernetes Namespace in which the Scheduler and Webserver reside. Note# that if your# cluster has RBAC enabled, your scheduler may need service account permissions to# create, watch, get, and delete pods in this namespace.
ifself.multi_namespace_modeandconf.get(self.kubernetes_section,"multi_namespace_mode_namespace_list"):self.multi_namespace_mode_namespace_list=conf.get(self.kubernetes_section,"multi_namespace_mode_namespace_list").split(",")else:self.multi_namespace_mode_namespace_list=None# The Kubernetes Namespace in which pods will be created by the executor. Note# that if your# cluster has RBAC enabled, your workers may need service account permissions to# interact with cluster components.