apache-airflow-providers-cncf-kubernetes 10.6.1rc1__tar.gz → 10.10.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- apache_airflow_providers_cncf_kubernetes-10.10.0/NOTICE +5 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/PKG-INFO +48 -24
- apache_airflow_providers_cncf_kubernetes-10.10.0/README.rst +85 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/docs/changelog.rst +197 -0
- apache_airflow_providers_cncf_kubernetes-10.10.0/docs/index.rst +148 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/docs/kubernetes_executor.rst +11 -11
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/docs/operators.rst +3 -3
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/provider.yaml +17 -1
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/pyproject.toml +15 -10
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1/src/airflow/providers/cncf → apache_airflow_providers_cncf_kubernetes-10.10.0/src/airflow}/__init__.py +1 -1
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/__init__.py +1 -1
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1/tests/system → apache_airflow_providers_cncf_kubernetes-10.10.0/src/airflow/providers/cncf}/__init__.py +1 -1
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/__init__.py +1 -1
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/cli/kubernetes_command.py +15 -6
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/decorators/kubernetes.py +1 -1
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/decorators/kubernetes_cmd.py +2 -2
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/exceptions.py +8 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/executors/kubernetes_executor.py +105 -36
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/executors/kubernetes_executor_types.py +50 -10
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/executors/kubernetes_executor_utils.py +211 -31
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/get_provider_info.py +6 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/hooks/kubernetes.py +91 -26
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/kube_config.py +24 -1
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/kubernetes_helper_functions.py +2 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/operators/custom_object_launcher.py +3 -1
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/operators/job.py +106 -37
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/operators/kueue.py +23 -3
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/operators/pod.py +139 -85
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/operators/resource.py +9 -5
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/operators/spark_kubernetes.py +79 -33
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/secret.py +3 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/sensors/spark_kubernetes.py +1 -1
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/triggers/job.py +43 -22
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/triggers/pod.py +57 -25
- apache_airflow_providers_cncf_kubernetes-10.10.0/src/airflow/providers/cncf/kubernetes/utils/container.py +118 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/utils/pod_manager.py +320 -211
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/version_compat.py +1 -25
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1/src/airflow → apache_airflow_providers_cncf_kubernetes-10.10.0/tests/system}/__init__.py +1 -1
- apache_airflow_providers_cncf_kubernetes-10.10.0/tests/system/cncf/__init__.py +17 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/system/cncf/kubernetes/example_kubernetes_decorator.py +6 -1
- apache_airflow_providers_cncf_kubernetes-10.10.0/tests/unit/__init__.py +17 -0
- apache_airflow_providers_cncf_kubernetes-10.10.0/tests/unit/cncf/__init__.py +17 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/decorators/test_kubernetes.py +4 -3
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/decorators/test_kubernetes_cmd.py +12 -12
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/decorators/test_kubernetes_commons.py +15 -26
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/executors/test_kubernetes_executor.py +103 -26
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/hooks/test_kubernetes.py +77 -41
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/log_handlers/test_log_handlers.py +20 -14
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/operators/test_custom_object_launcher.py +21 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/operators/test_job.py +181 -31
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/operators/test_kueue.py +23 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/operators/test_pod.py +300 -76
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/operators/test_spark_kubernetes.py +294 -103
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/sensors/test_spark_kubernetes.py +10 -21
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/test_kubernetes_helper_functions.py +3 -3
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/test_pod_generator.py +7 -7
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/test_template_rendering.py +27 -35
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/triggers/test_job.py +12 -4
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/triggers/test_pod.py +94 -37
- apache_airflow_providers_cncf_kubernetes-10.10.0/tests/unit/cncf/kubernetes/utils/test_container.py +172 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/utils/test_pod_manager.py +305 -173
- apache_airflow_providers_cncf_kubernetes-10.6.1rc1/README.rst +0 -65
- apache_airflow_providers_cncf_kubernetes-10.6.1rc1/docs/index.rst +0 -119
- apache_airflow_providers_cncf_kubernetes-10.6.1rc1/tests/system/cncf/__init__.py +0 -17
- apache_airflow_providers_cncf_kubernetes-10.6.1rc1/tests/unit/__init__.py +0 -17
- apache_airflow_providers_cncf_kubernetes-10.6.1rc1/tests/unit/cncf/__init__.py +0 -17
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1/src/airflow/providers/cncf/kubernetes → apache_airflow_providers_cncf_kubernetes-10.10.0}/LICENSE +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/docs/.latest-doc-only-change.txt +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/docs/cli-ref.rst +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/docs/commits.rst +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/docs/conf.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/docs/configurations-ref.rst +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/docs/connections/kubernetes.rst +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/docs/img/arch-diag-kubernetes.png +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/docs/img/arch-diag-kubernetes2.png +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/docs/img/k8s-failed-pod.png +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/docs/img/k8s-happy-path.png +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/docs/installing-providers-from-sources.rst +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/docs/integration-logos/Kubernetes.png +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/docs/integration-logos/Spark-On-Kubernetes.png +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/docs/local_kubernetes_executor.rst +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/docs/redirects.txt +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/docs/security.rst +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/backcompat/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/backcompat/backwards_compat_converters.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/callbacks.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/cli/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/decorators/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/executors/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/executors/local_kubernetes_executor.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/hooks/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/k8s_model.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/kube_client.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/kubernetes_executor_templates/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/kubernetes_executor_templates/basic_template.yaml +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/operators/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/pod_generator.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/pod_template_file_examples/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/pod_template_file_examples/dags_in_image_template.yaml +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/pod_template_file_examples/dags_in_volume_template.yaml +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/pod_template_file_examples/git_sync_template.yaml +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/python_kubernetes_script.jinja2 +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/python_kubernetes_script.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/resource_convert/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/resource_convert/configmap.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/resource_convert/env_variable.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/resource_convert/secret.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/sensors/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/template_rendering.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/triggers/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/utils/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/utils/delete_from.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/utils/k8s_resource_iterator.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/src/airflow/providers/cncf/kubernetes/utils/xcom_sidecar.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/conftest.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/system/cncf/kubernetes/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/system/cncf/kubernetes/example_kubernetes.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/system/cncf/kubernetes/example_kubernetes_async.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/system/cncf/kubernetes/example_kubernetes_cmd_decorator.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/system/cncf/kubernetes/example_kubernetes_job.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/system/cncf/kubernetes/example_kubernetes_kueue.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/system/cncf/kubernetes/example_kubernetes_resource.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/system/cncf/kubernetes/example_spark_kubernetes.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/system/cncf/kubernetes/example_spark_kubernetes_spark_pi.yaml +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/system/cncf/kubernetes/spark_job_template.yaml +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/backcompat/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/backcompat/test_backwards_compat_converters.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/cli/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/cli/test_kubernetes_command.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/conftest.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/data_files/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/data_files/executor/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/data_files/executor/basic_template.yaml +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/data_files/kube_config +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/data_files/pods/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/data_files/pods/generator_base.yaml +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/data_files/pods/generator_base_with_secrets.yaml +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/data_files/pods/template.yaml +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/data_files/spark/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/data_files/spark/application_template.yaml +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/data_files/spark/application_test.json +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/data_files/spark/application_test.yaml +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/data_files/spark/application_test_with_no_name_from_config.json +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/data_files/spark/application_test_with_no_name_from_config.yaml +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/decorators/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/executors/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/executors/test_local_kubernetes_executor.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/hooks/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/log_handlers/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/models/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/models/test_secret.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/operators/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/operators/test_resource.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/resource_convert/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/resource_convert/test_configmap.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/resource_convert/test_env_variable.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/resource_convert/test_secret.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/sensors/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/test_callbacks.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/test_client.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/triggers/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/utils/__init__.py +0 -0
- {apache_airflow_providers_cncf_kubernetes-10.6.1rc1 → apache_airflow_providers_cncf_kubernetes-10.10.0}/tests/unit/cncf/kubernetes/utils/test_k8s_resource_iterator.py +0 -0
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: apache-airflow-providers-cncf-kubernetes
|
|
3
|
-
Version: 10.
|
|
3
|
+
Version: 10.10.0
|
|
4
4
|
Summary: Provider package apache-airflow-providers-cncf-kubernetes for Apache Airflow
|
|
5
5
|
Keywords: airflow-provider,cncf.kubernetes,airflow,integration
|
|
6
6
|
Author-email: Apache Software Foundation <dev@airflow.apache.org>
|
|
7
7
|
Maintainer-email: Apache Software Foundation <dev@airflow.apache.org>
|
|
8
|
-
Requires-Python:
|
|
8
|
+
Requires-Python: >=3.10
|
|
9
9
|
Description-Content-Type: text/x-rst
|
|
10
|
+
License-Expression: Apache-2.0
|
|
10
11
|
Classifier: Development Status :: 5 - Production/Stable
|
|
11
12
|
Classifier: Environment :: Console
|
|
12
13
|
Classifier: Environment :: Web Environment
|
|
@@ -14,20 +15,23 @@ Classifier: Intended Audience :: Developers
|
|
|
14
15
|
Classifier: Intended Audience :: System Administrators
|
|
15
16
|
Classifier: Framework :: Apache Airflow
|
|
16
17
|
Classifier: Framework :: Apache Airflow :: Provider
|
|
17
|
-
Classifier: License :: OSI Approved :: Apache Software License
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.10
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.11
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
21
22
|
Classifier: Topic :: System :: Monitoring
|
|
23
|
+
License-File: LICENSE
|
|
24
|
+
License-File: NOTICE
|
|
22
25
|
Requires-Dist: aiofiles>=23.2.0
|
|
23
|
-
Requires-Dist: apache-airflow>=2.10.
|
|
26
|
+
Requires-Dist: apache-airflow>=2.10.0
|
|
27
|
+
Requires-Dist: apache-airflow-providers-common-compat>=1.8.0
|
|
24
28
|
Requires-Dist: asgiref>=3.5.2
|
|
25
|
-
Requires-Dist: cryptography>=41.0.0
|
|
26
|
-
Requires-Dist: kubernetes>=32.0.0,<
|
|
27
|
-
Requires-Dist: kubernetes_asyncio>=32.0.0,<
|
|
29
|
+
Requires-Dist: cryptography>=41.0.0,<46.0.0
|
|
30
|
+
Requires-Dist: kubernetes>=32.0.0,<35.0.0
|
|
31
|
+
Requires-Dist: kubernetes_asyncio>=32.0.0,<35.0.0
|
|
28
32
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
|
29
|
-
Project-URL: Changelog, https://airflow.
|
|
30
|
-
Project-URL: Documentation, https://airflow.
|
|
33
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.10.0/changelog.html
|
|
34
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.10.0
|
|
31
35
|
Project-URL: Mastodon, https://fosstodon.org/@airflow
|
|
32
36
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
|
33
37
|
Project-URL: Source Code, https://github.com/apache/airflow
|
|
@@ -58,7 +62,7 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
|
|
|
58
62
|
|
|
59
63
|
Package ``apache-airflow-providers-cncf-kubernetes``
|
|
60
64
|
|
|
61
|
-
Release: ``10.
|
|
65
|
+
Release: ``10.10.0``
|
|
62
66
|
|
|
63
67
|
|
|
64
68
|
`Kubernetes <https://kubernetes.io/>`__
|
|
@@ -71,31 +75,51 @@ This is a provider package for ``cncf.kubernetes`` provider. All classes for thi
|
|
|
71
75
|
are in ``airflow.providers.cncf.kubernetes`` python package.
|
|
72
76
|
|
|
73
77
|
You can find package information and changelog for the provider
|
|
74
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.
|
|
78
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.10.0/>`_.
|
|
75
79
|
|
|
76
80
|
Installation
|
|
77
81
|
------------
|
|
78
82
|
|
|
79
|
-
You can install this package on top of an existing Airflow
|
|
83
|
+
You can install this package on top of an existing Airflow installation (see ``Requirements`` below
|
|
80
84
|
for the minimum Airflow version supported) via
|
|
81
85
|
``pip install apache-airflow-providers-cncf-kubernetes``
|
|
82
86
|
|
|
83
|
-
The package supports the following python versions: 3.10,3.11,3.12
|
|
87
|
+
The package supports the following python versions: 3.10,3.11,3.12,3.13
|
|
84
88
|
|
|
85
89
|
Requirements
|
|
86
90
|
------------
|
|
87
91
|
|
|
88
|
-
|
|
89
|
-
PIP package
|
|
90
|
-
|
|
91
|
-
``aiofiles``
|
|
92
|
-
``apache-airflow``
|
|
93
|
-
``
|
|
94
|
-
``
|
|
95
|
-
``
|
|
96
|
-
``
|
|
97
|
-
|
|
92
|
+
========================================== ====================
|
|
93
|
+
PIP package Version required
|
|
94
|
+
========================================== ====================
|
|
95
|
+
``aiofiles`` ``>=23.2.0``
|
|
96
|
+
``apache-airflow`` ``>=2.10.0``
|
|
97
|
+
``apache-airflow-providers-common-compat`` ``>=1.8.0``
|
|
98
|
+
``asgiref`` ``>=3.5.2``
|
|
99
|
+
``cryptography`` ``>=41.0.0,<46.0.0``
|
|
100
|
+
``kubernetes`` ``>=32.0.0,<35.0.0``
|
|
101
|
+
``kubernetes_asyncio`` ``>=32.0.0,<35.0.0``
|
|
102
|
+
========================================== ====================
|
|
103
|
+
|
|
104
|
+
Cross provider package dependencies
|
|
105
|
+
-----------------------------------
|
|
106
|
+
|
|
107
|
+
Those are dependencies that might be needed in order to use all the features of the package.
|
|
108
|
+
You need to install the specified providers in order to use them.
|
|
109
|
+
|
|
110
|
+
You can install such cross-provider dependencies when installing from PyPI. For example:
|
|
111
|
+
|
|
112
|
+
.. code-block:: bash
|
|
113
|
+
|
|
114
|
+
pip install apache-airflow-providers-cncf-kubernetes[common.compat]
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
================================================================================================================== =================
|
|
118
|
+
Dependent package Extra
|
|
119
|
+
================================================================================================================== =================
|
|
120
|
+
`apache-airflow-providers-common-compat <https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_ ``common.compat``
|
|
121
|
+
================================================================================================================== =================
|
|
98
122
|
|
|
99
123
|
The changelog for the provider package can be found in the
|
|
100
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.
|
|
124
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.10.0/changelog.html>`_.
|
|
101
125
|
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
|
|
2
|
+
.. Licensed to the Apache Software Foundation (ASF) under one
|
|
3
|
+
or more contributor license agreements. See the NOTICE file
|
|
4
|
+
distributed with this work for additional information
|
|
5
|
+
regarding copyright ownership. The ASF licenses this file
|
|
6
|
+
to you under the Apache License, Version 2.0 (the
|
|
7
|
+
"License"); you may not use this file except in compliance
|
|
8
|
+
with the License. You may obtain a copy of the License at
|
|
9
|
+
|
|
10
|
+
.. http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
|
|
12
|
+
.. Unless required by applicable law or agreed to in writing,
|
|
13
|
+
software distributed under the License is distributed on an
|
|
14
|
+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
15
|
+
KIND, either express or implied. See the License for the
|
|
16
|
+
specific language governing permissions and limitations
|
|
17
|
+
under the License.
|
|
18
|
+
|
|
19
|
+
.. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
|
|
20
|
+
|
|
21
|
+
.. IF YOU WANT TO MODIFY TEMPLATE FOR THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
|
|
22
|
+
``PROVIDER_README_TEMPLATE.rst.jinja2`` IN the ``dev/breeze/src/airflow_breeze/templates`` DIRECTORY
|
|
23
|
+
|
|
24
|
+
Package ``apache-airflow-providers-cncf-kubernetes``
|
|
25
|
+
|
|
26
|
+
Release: ``10.10.0``
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
`Kubernetes <https://kubernetes.io/>`__
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
Provider package
|
|
33
|
+
----------------
|
|
34
|
+
|
|
35
|
+
This is a provider package for ``cncf.kubernetes`` provider. All classes for this provider package
|
|
36
|
+
are in ``airflow.providers.cncf.kubernetes`` python package.
|
|
37
|
+
|
|
38
|
+
You can find package information and changelog for the provider
|
|
39
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.10.0/>`_.
|
|
40
|
+
|
|
41
|
+
Installation
|
|
42
|
+
------------
|
|
43
|
+
|
|
44
|
+
You can install this package on top of an existing Airflow installation (see ``Requirements`` below
|
|
45
|
+
for the minimum Airflow version supported) via
|
|
46
|
+
``pip install apache-airflow-providers-cncf-kubernetes``
|
|
47
|
+
|
|
48
|
+
The package supports the following python versions: 3.10,3.11,3.12,3.13
|
|
49
|
+
|
|
50
|
+
Requirements
|
|
51
|
+
------------
|
|
52
|
+
|
|
53
|
+
========================================== ====================
|
|
54
|
+
PIP package Version required
|
|
55
|
+
========================================== ====================
|
|
56
|
+
``aiofiles`` ``>=23.2.0``
|
|
57
|
+
``apache-airflow`` ``>=2.10.0``
|
|
58
|
+
``apache-airflow-providers-common-compat`` ``>=1.8.0``
|
|
59
|
+
``asgiref`` ``>=3.5.2``
|
|
60
|
+
``cryptography`` ``>=41.0.0,<46.0.0``
|
|
61
|
+
``kubernetes`` ``>=32.0.0,<35.0.0``
|
|
62
|
+
``kubernetes_asyncio`` ``>=32.0.0,<35.0.0``
|
|
63
|
+
========================================== ====================
|
|
64
|
+
|
|
65
|
+
Cross provider package dependencies
|
|
66
|
+
-----------------------------------
|
|
67
|
+
|
|
68
|
+
Those are dependencies that might be needed in order to use all the features of the package.
|
|
69
|
+
You need to install the specified providers in order to use them.
|
|
70
|
+
|
|
71
|
+
You can install such cross-provider dependencies when installing from PyPI. For example:
|
|
72
|
+
|
|
73
|
+
.. code-block:: bash
|
|
74
|
+
|
|
75
|
+
pip install apache-airflow-providers-cncf-kubernetes[common.compat]
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
================================================================================================================== =================
|
|
79
|
+
Dependent package Extra
|
|
80
|
+
================================================================================================================== =================
|
|
81
|
+
`apache-airflow-providers-common-compat <https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_ ``common.compat``
|
|
82
|
+
================================================================================================================== =================
|
|
83
|
+
|
|
84
|
+
The changelog for the provider package can be found in the
|
|
85
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.10.0/changelog.html>`_.
|
|
@@ -28,6 +28,203 @@ Changelog
|
|
|
28
28
|
---------
|
|
29
29
|
|
|
30
30
|
|
|
31
|
+
10.10.0
|
|
32
|
+
.......
|
|
33
|
+
|
|
34
|
+
Features
|
|
35
|
+
~~~~~~~~
|
|
36
|
+
|
|
37
|
+
* ``KubernetesPodTriggerer reads pod logs instead of KubernetesPodOperator (#57531)``
|
|
38
|
+
|
|
39
|
+
Bug Fixes
|
|
40
|
+
~~~~~~~~~
|
|
41
|
+
|
|
42
|
+
* ``Fix 'KubernetesPodOperator' fails to delete pods with None value labels (#53477)``
|
|
43
|
+
* ``Fix KubernetesExecutor open slots metric (#55797)``
|
|
44
|
+
* ``improve deferrable KPO handling of deleted pods in between polls (#56976)``
|
|
45
|
+
* ``KubernetesExecutor: retry pod creation on Kubernetes API 500 errors (#57054)``
|
|
46
|
+
|
|
47
|
+
Misc
|
|
48
|
+
~~~~
|
|
49
|
+
|
|
50
|
+
* ``Convert all airflow distributions to be compliant with ASF requirements (#58138)``
|
|
51
|
+
* ``Unify Pod Startup Tracking: KubernetesPodTriggerer and KubernetesPodOperator Now Share Common Startup Logic (#56875)``
|
|
52
|
+
* ``Relax Kubernetes client version support to <35.0.0 (#57413)``
|
|
53
|
+
* ``Identify duplicate kubernetes section airflow configuration and mark them as deprecated (#57028)``
|
|
54
|
+
|
|
55
|
+
Doc-only
|
|
56
|
+
~~~~~~~~
|
|
57
|
+
|
|
58
|
+
* ``CHG: image (#56593)``
|
|
59
|
+
|
|
60
|
+
.. Below changes are excluded from the changelog. Move them to
|
|
61
|
+
appropriate section above if needed. Do not delete the lines(!):
|
|
62
|
+
* ``Fix main failing on cross-merged PR (#58270)``
|
|
63
|
+
* ``Delete all unnecessary LICENSE Files (#58191)``
|
|
64
|
+
* ``Enable PT006 rule to 19 files in providers (cncf,common) (#57995)``
|
|
65
|
+
* ``Fix docstring typos (#57840)``
|
|
66
|
+
* ``Fix MyPy type errors in providers in cncf/kubernetes provider (#57563)``
|
|
67
|
+
* ``Fix mypy static errors in main (#57755)``
|
|
68
|
+
* ``Attempt to resolve pip "ResolutionTooDeep" on cffi conflict (#57697)``
|
|
69
|
+
* ``Enable ruff PLW1641 rule (#57679)``
|
|
70
|
+
* ``Fix code formatting via ruff preview (#57641)``
|
|
71
|
+
* ``Enable ruff PLW0129 rule (#57516)``
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
10.9.0
|
|
75
|
+
......
|
|
76
|
+
|
|
77
|
+
Features
|
|
78
|
+
~~~~~~~~
|
|
79
|
+
|
|
80
|
+
* ``Move container-related functions from PodManager to a separate file (#56700)``
|
|
81
|
+
* ``Add KubernetesPodOperator deferred callbacks (#47108)``
|
|
82
|
+
|
|
83
|
+
Bug Fixes
|
|
84
|
+
~~~~~~~~~
|
|
85
|
+
|
|
86
|
+
* ``Fix KubernetesPodOperator termination_grace_period parameter not being applied to pod spec (#56402)``
|
|
87
|
+
* ``SparkKubernetesOperator: preserve existing metadata labels in SparkApplication manifest (#56063)``
|
|
88
|
+
|
|
89
|
+
Misc
|
|
90
|
+
~~~~
|
|
91
|
+
|
|
92
|
+
* ``Migrate cncf/kubernetes provider to ''common.compat'' (#57023)``
|
|
93
|
+
|
|
94
|
+
Doc-only
|
|
95
|
+
~~~~~~~~
|
|
96
|
+
|
|
97
|
+
* ``Correct 'Dag' to 'DAG' for code snippets in provider docs (#56727)``
|
|
98
|
+
|
|
99
|
+
.. Below changes are excluded from the changelog. Move them to
|
|
100
|
+
appropriate section above if needed. Do not delete the lines(!):
|
|
101
|
+
* ``Remove placeholder Release Date in changelog and index files (#56056)``
|
|
102
|
+
* ``Enable PT011 rule to provider tests (#56578)``
|
|
103
|
+
|
|
104
|
+
10.8.2
|
|
105
|
+
......
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
Bug Fixes
|
|
109
|
+
~~~~~~~~~
|
|
110
|
+
|
|
111
|
+
* ``Don't check db migration needlessly for 'airflow celery' cli commands. (#55878)``
|
|
112
|
+
* ``Relax Kubernetes client version support to <34.0.0 (#55932)``
|
|
113
|
+
|
|
114
|
+
.. Below changes are excluded from the changelog. Move them to
|
|
115
|
+
appropriate section above if needed. Do not delete the lines(!):
|
|
116
|
+
|
|
117
|
+
10.8.1
|
|
118
|
+
......
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
Bug Fixes
|
|
122
|
+
~~~~~~~~~
|
|
123
|
+
|
|
124
|
+
* ``Fix: Add task context labels to driver and executor pods for SparkKubernetesOperator reattach_on_restart functionality (#50803)``
|
|
125
|
+
* ``Add more error handling in pod_manager consume_logs (#55479)``
|
|
126
|
+
* ``Add more robust check of the container statuses (#55371)``
|
|
127
|
+
* ``Fix circular import in version_compat (#55809)``
|
|
128
|
+
|
|
129
|
+
Misc
|
|
130
|
+
~~~~
|
|
131
|
+
|
|
132
|
+
* ``Move the KubernetesPodOperator 'convert_config_file_to_dict' call (#55064)``
|
|
133
|
+
* ``Fix kpo log_events_on_failure logs warnings at warning level (#54967)``
|
|
134
|
+
|
|
135
|
+
.. Below changes are excluded from the changelog. Move them to
|
|
136
|
+
appropriate section above if needed. Do not delete the lines(!):
|
|
137
|
+
* ``Switch all airflow logging to structlog (#52651)``
|
|
138
|
+
|
|
139
|
+
10.8.0
|
|
140
|
+
......
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
Features
|
|
144
|
+
~~~~~~~~
|
|
145
|
+
|
|
146
|
+
* ``Add customizable log prefix and formatter to KubernetesPodOperator (#53598)``
|
|
147
|
+
* ``Enhanced Pod Failure Logging in KubernetesExecutor (#54115)``
|
|
148
|
+
|
|
149
|
+
Bug Fixes
|
|
150
|
+
~~~~~~~~~
|
|
151
|
+
|
|
152
|
+
* ``fix: Handle Kubernetes API responses with non-JSON bodies (#55107)``
|
|
153
|
+
* ``Fix KubernetesExecutor retry on 409 conflict (#54777)``
|
|
154
|
+
* ``KubernetesPodOperator logs pod and container state after error occurred (#54828)``
|
|
155
|
+
* ``Throttle HTTPError during consume pod logs (#54761)``
|
|
156
|
+
|
|
157
|
+
Misc
|
|
158
|
+
~~~~
|
|
159
|
+
|
|
160
|
+
* ``Remove airflow.models.DAG (#54383)``
|
|
161
|
+
* ``Refactor Kubernetes Executor Types to NamedTuples (#54858)``
|
|
162
|
+
* ``Move some items in 'airflow.utils.context' to appropriate places (#53600)``
|
|
163
|
+
|
|
164
|
+
Doc-only
|
|
165
|
+
~~~~~~~~
|
|
166
|
+
|
|
167
|
+
* ``Make term Dag consistent in providers docs (#55101)``
|
|
168
|
+
|
|
169
|
+
.. Below changes are excluded from the changelog. Move them to
|
|
170
|
+
appropriate section above if needed. Do not delete the lines(!):
|
|
171
|
+
* ``Remove Legacy Query Object Usage from airflow-models (#52325)``
|
|
172
|
+
* ``Fix k8s pod yaml test to expect redacted sensitive data (#54883)``
|
|
173
|
+
* ``Move secrets_masker over to airflow_shared distribution (#54449)``
|
|
174
|
+
* ``Replace API server's direct Connection access workaround in BaseHook (#54083)``
|
|
175
|
+
* ``Switch pre-commit to prek (#54258)``
|
|
176
|
+
* ``make bundle_name not nullable (#47592)``
|
|
177
|
+
* ``Bump pytest-asyncio to 1.1.0 (#54123)``
|
|
178
|
+
|
|
179
|
+
.. Review and move the new changes to one of the sections above:
|
|
180
|
+
* ``Fix Airflow 2 reference in README/index of providers (#55240)``
|
|
181
|
+
|
|
182
|
+
10.7.0
|
|
183
|
+
......
|
|
184
|
+
|
|
185
|
+
Features
|
|
186
|
+
~~~~~~~~
|
|
187
|
+
|
|
188
|
+
* ``Add support for taking the config file as a dict for KubernetesHook (#53126)``
|
|
189
|
+
|
|
190
|
+
Bug Fixes
|
|
191
|
+
~~~~~~~~~
|
|
192
|
+
|
|
193
|
+
* ``Kill kube watcher instance if it doesnt terminate gracefully in 60 seconds (#52662)``
|
|
194
|
+
|
|
195
|
+
.. Below changes are excluded from the changelog. Move them to
|
|
196
|
+
appropriate section above if needed. Do not delete the lines(!):
|
|
197
|
+
|
|
198
|
+
10.6.2
|
|
199
|
+
......
|
|
200
|
+
|
|
201
|
+
Bug Fixes
|
|
202
|
+
~~~~~~~~~
|
|
203
|
+
|
|
204
|
+
* ``Pass cluster context to AsyncKubernetesHook (#53504)``
|
|
205
|
+
* ``Handle multiple pods to prevent KubernetesJobOperator falls with parallelism option (#49899)``
|
|
206
|
+
* ``(fix): Handle pod evictions correctly during retry in KubernetesPodOperator (#53059)``
|
|
207
|
+
|
|
208
|
+
Misc
|
|
209
|
+
~~~~
|
|
210
|
+
|
|
211
|
+
* ``Deprecate decorators from Core (#53629)``
|
|
212
|
+
* ``Use asyncio.run instead of loop.run_until_complete. (#53475)``
|
|
213
|
+
* ``Add Python 3.13 support for Airflow. (#46891)``
|
|
214
|
+
* ``Remove 'airflow.utils.xcom' module and add backcompat shim (#53187)``
|
|
215
|
+
* ``Cleanup mypy ignores cncf provider where possible (#53264)``
|
|
216
|
+
* ``Remove type ignore across codebase after mypy upgrade (#53243)``
|
|
217
|
+
* ``Replace usages of XCOM_RETURN_KEY in providers to not be from utils (#53170)``
|
|
218
|
+
* ``Make cncf provider compatible with mypy 1.16.1 (#53121)``
|
|
219
|
+
* ``Remove upper-binding for "python-requires" (#52980)``
|
|
220
|
+
* ``Temporarily switch to use >=,< pattern instead of '~=' (#52967)``
|
|
221
|
+
* ``Move all BaseHook usages to version_compat in cncf (#52798)``
|
|
222
|
+
|
|
223
|
+
.. Below changes are excluded from the changelog. Move them to
|
|
224
|
+
appropriate section above if needed. Do not delete the lines(!):
|
|
225
|
+
* ``Making some brittle tests related to log assertion more robust (#53743)``
|
|
226
|
+
* ``Make dag_version_id in TI non-nullable (#50825)``
|
|
227
|
+
|
|
31
228
|
10.6.1
|
|
32
229
|
......
|
|
33
230
|
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
|
|
2
|
+
.. Licensed to the Apache Software Foundation (ASF) under one
|
|
3
|
+
or more contributor license agreements. See the NOTICE file
|
|
4
|
+
distributed with this work for additional information
|
|
5
|
+
regarding copyright ownership. The ASF licenses this file
|
|
6
|
+
to you under the Apache License, Version 2.0 (the
|
|
7
|
+
"License"); you may not use this file except in compliance
|
|
8
|
+
with the License. You may obtain a copy of the License at
|
|
9
|
+
|
|
10
|
+
.. http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
|
|
12
|
+
.. Unless required by applicable law or agreed to in writing,
|
|
13
|
+
software distributed under the License is distributed on an
|
|
14
|
+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
15
|
+
KIND, either express or implied. See the License for the
|
|
16
|
+
specific language governing permissions and limitations
|
|
17
|
+
under the License.
|
|
18
|
+
|
|
19
|
+
``apache-airflow-providers-cncf-kubernetes``
|
|
20
|
+
============================================
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
.. toctree::
|
|
24
|
+
:hidden:
|
|
25
|
+
:maxdepth: 1
|
|
26
|
+
:caption: Basics
|
|
27
|
+
|
|
28
|
+
Home <self>
|
|
29
|
+
Changelog <changelog>
|
|
30
|
+
Security <security>
|
|
31
|
+
|
|
32
|
+
.. toctree::
|
|
33
|
+
:hidden:
|
|
34
|
+
:maxdepth: 1
|
|
35
|
+
:caption: Executors
|
|
36
|
+
|
|
37
|
+
KubernetesExecutor details <kubernetes_executor>
|
|
38
|
+
LocalKubernetesExecutor details <local_kubernetes_executor>
|
|
39
|
+
|
|
40
|
+
.. toctree::
|
|
41
|
+
:hidden:
|
|
42
|
+
:maxdepth: 1
|
|
43
|
+
:caption: Guides
|
|
44
|
+
|
|
45
|
+
Connection types <connections/kubernetes>
|
|
46
|
+
Operators <operators>
|
|
47
|
+
|
|
48
|
+
.. toctree::
|
|
49
|
+
:hidden:
|
|
50
|
+
:maxdepth: 1
|
|
51
|
+
:caption: References
|
|
52
|
+
|
|
53
|
+
Configuration <configurations-ref>
|
|
54
|
+
CLI <cli-ref>
|
|
55
|
+
Python API <_api/airflow/providers/cncf/kubernetes/index>
|
|
56
|
+
|
|
57
|
+
.. toctree::
|
|
58
|
+
:hidden:
|
|
59
|
+
:maxdepth: 1
|
|
60
|
+
:caption: System tests
|
|
61
|
+
|
|
62
|
+
System Tests <_api/tests/system/cncf/kubernetes/index>
|
|
63
|
+
|
|
64
|
+
.. toctree::
|
|
65
|
+
:hidden:
|
|
66
|
+
:maxdepth: 1
|
|
67
|
+
:caption: Resources
|
|
68
|
+
|
|
69
|
+
Example Dags <https://github.com/apache/airflow/tree/providers-cncf-kubernetes/|version|/providers/cncf/kubernetes/tests/system/cncf/kubernetes>
|
|
70
|
+
PyPI Repository <https://pypi.org/project/apache-airflow-providers-cncf-kubernetes/>
|
|
71
|
+
Installing from sources <installing-providers-from-sources>
|
|
72
|
+
|
|
73
|
+
.. THE REMAINDER OF THE FILE IS AUTOMATICALLY GENERATED. IT WILL BE OVERWRITTEN AT RELEASE TIME!
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
.. toctree::
|
|
77
|
+
:hidden:
|
|
78
|
+
:maxdepth: 1
|
|
79
|
+
:caption: Commits
|
|
80
|
+
|
|
81
|
+
Detailed list of commits <commits>
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
apache-airflow-providers-cncf-kubernetes package
|
|
85
|
+
------------------------------------------------------
|
|
86
|
+
|
|
87
|
+
`Kubernetes <https://kubernetes.io/>`__
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
Release: 10.10.0
|
|
91
|
+
|
|
92
|
+
Provider package
|
|
93
|
+
----------------
|
|
94
|
+
|
|
95
|
+
This package is for the ``cncf.kubernetes`` provider.
|
|
96
|
+
All classes for this package are included in the ``airflow.providers.cncf.kubernetes`` python package.
|
|
97
|
+
|
|
98
|
+
Installation
|
|
99
|
+
------------
|
|
100
|
+
|
|
101
|
+
You can install this package on top of an existing Airflow installation via
|
|
102
|
+
``pip install apache-airflow-providers-cncf-kubernetes``.
|
|
103
|
+
For the minimum Airflow version supported, see ``Requirements`` below.
|
|
104
|
+
|
|
105
|
+
Requirements
|
|
106
|
+
------------
|
|
107
|
+
|
|
108
|
+
The minimum Apache Airflow version supported by this provider distribution is ``2.10.0``.
|
|
109
|
+
|
|
110
|
+
========================================== ====================
|
|
111
|
+
PIP package Version required
|
|
112
|
+
========================================== ====================
|
|
113
|
+
``aiofiles`` ``>=23.2.0``
|
|
114
|
+
``apache-airflow`` ``>=2.10.0``
|
|
115
|
+
``apache-airflow-providers-common-compat`` ``>=1.8.0``
|
|
116
|
+
``asgiref`` ``>=3.5.2``
|
|
117
|
+
``cryptography`` ``>=41.0.0,<46.0.0``
|
|
118
|
+
``kubernetes`` ``>=32.0.0,<35.0.0``
|
|
119
|
+
``kubernetes_asyncio`` ``>=32.0.0,<35.0.0``
|
|
120
|
+
========================================== ====================
|
|
121
|
+
|
|
122
|
+
Cross provider package dependencies
|
|
123
|
+
-----------------------------------
|
|
124
|
+
|
|
125
|
+
Those are dependencies that might be needed in order to use all the features of the package.
|
|
126
|
+
You need to install the specified provider distributions in order to use them.
|
|
127
|
+
|
|
128
|
+
You can install such cross-provider dependencies when installing from PyPI. For example:
|
|
129
|
+
|
|
130
|
+
.. code-block:: bash
|
|
131
|
+
|
|
132
|
+
pip install apache-airflow-providers-cncf-kubernetes[common.compat]
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
================================================================================================================== =================
|
|
136
|
+
Dependent package Extra
|
|
137
|
+
================================================================================================================== =================
|
|
138
|
+
`apache-airflow-providers-common-compat <https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_ ``common.compat``
|
|
139
|
+
================================================================================================================== =================
|
|
140
|
+
|
|
141
|
+
Downloading official packages
|
|
142
|
+
-----------------------------
|
|
143
|
+
|
|
144
|
+
You can download officially released packages and verify their checksums and signatures from the
|
|
145
|
+
`Official Apache Download site <https://downloads.apache.org/airflow/providers/>`_
|
|
146
|
+
|
|
147
|
+
* `The apache-airflow-providers-cncf-kubernetes 10.10.0 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_cncf_kubernetes-10.10.0.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_cncf_kubernetes-10.10.0.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_cncf_kubernetes-10.10.0.tar.gz.sha512>`__)
|
|
148
|
+
* `The apache-airflow-providers-cncf-kubernetes 10.10.0 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_cncf_kubernetes-10.10.0-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_cncf_kubernetes-10.10.0-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_cncf_kubernetes-10.10.0-py3-none-any.whl.sha512>`__)
|
|
@@ -36,7 +36,7 @@ not necessarily need to be running on Kubernetes, but does need access to a Kube
|
|
|
36
36
|
|
|
37
37
|
KubernetesExecutor requires a non-sqlite database in the backend.
|
|
38
38
|
|
|
39
|
-
When a
|
|
39
|
+
When a Dag submits a task, the KubernetesExecutor requests a worker pod from the Kubernetes API. The worker pod then runs the task, reports the result, and terminates.
|
|
40
40
|
|
|
41
41
|
.. image:: img/arch-diag-kubernetes.png
|
|
42
42
|
|
|
@@ -45,7 +45,7 @@ One example of an Airflow deployment running on a distributed set of five nodes
|
|
|
45
45
|
|
|
46
46
|
.. image:: img/arch-diag-kubernetes2.png
|
|
47
47
|
|
|
48
|
-
Consistent with the regular Airflow architecture, the Workers need access to the
|
|
48
|
+
Consistent with the regular Airflow architecture, the Workers need access to the Dag files to execute the tasks within those Dags and interact with the Metadata repository. Also, configuration information specific to the Kubernetes Executor, such as the worker namespace and image information, needs to be specified in the Airflow Configuration file.
|
|
49
49
|
|
|
50
50
|
Additionally, the Kubernetes Executor enables specification of additional features on a per-task basis using the Executor config.
|
|
51
51
|
|
|
@@ -103,24 +103,24 @@ With these requirements in mind, here are some examples of basic ``pod_template_
|
|
|
103
103
|
|
|
104
104
|
The examples below should work when using default Airflow configuration values. However, many custom
|
|
105
105
|
configuration values need to be explicitly passed to the pod via this template too. This includes,
|
|
106
|
-
but is not limited to, sql configuration, required Airflow connections,
|
|
106
|
+
but is not limited to, sql configuration, required Airflow connections, Dags folder path and
|
|
107
107
|
logging settings. See :doc:`../../configurations-ref` for details.
|
|
108
108
|
|
|
109
|
-
Storing
|
|
109
|
+
Storing Dags in the image:
|
|
110
110
|
|
|
111
111
|
.. literalinclude:: /../src/airflow/providers/cncf/kubernetes/pod_template_file_examples/dags_in_image_template.yaml
|
|
112
112
|
:language: yaml
|
|
113
113
|
:start-after: [START template_with_dags_in_image]
|
|
114
114
|
:end-before: [END template_with_dags_in_image]
|
|
115
115
|
|
|
116
|
-
Storing
|
|
116
|
+
Storing Dags in a ``persistentVolume``:
|
|
117
117
|
|
|
118
118
|
.. literalinclude:: /../src/airflow/providers/cncf/kubernetes/pod_template_file_examples/dags_in_volume_template.yaml
|
|
119
119
|
:language: yaml
|
|
120
120
|
:start-after: [START template_with_dags_in_volume]
|
|
121
121
|
:end-before: [END template_with_dags_in_volume]
|
|
122
122
|
|
|
123
|
-
Pulling
|
|
123
|
+
Pulling Dags from ``git``:
|
|
124
124
|
|
|
125
125
|
.. literalinclude:: /../src/airflow/providers/cncf/kubernetes/pod_template_file_examples/git_sync_template.yaml
|
|
126
126
|
:language: yaml
|
|
@@ -189,18 +189,18 @@ Here is an example of a task with both features:
|
|
|
189
189
|
print_stuff()
|
|
190
190
|
|
|
191
191
|
|
|
192
|
-
Managing
|
|
192
|
+
Managing Dags and logs
|
|
193
193
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
194
194
|
|
|
195
195
|
Use of persistent volumes is optional and depends on your configuration.
|
|
196
196
|
|
|
197
197
|
- **Dags**:
|
|
198
198
|
|
|
199
|
-
To get the
|
|
199
|
+
To get the Dags into the workers, you can:
|
|
200
200
|
|
|
201
|
-
- Include
|
|
202
|
-
- Use ``git-sync`` which, before starting the worker container, will run a ``git pull`` of the
|
|
203
|
-
- Storing
|
|
201
|
+
- Include Dags in the image.
|
|
202
|
+
- Use ``git-sync`` which, before starting the worker container, will run a ``git pull`` of the Dags repository.
|
|
203
|
+
- Storing Dags on a persistent volume, which can be mounted on all workers.
|
|
204
204
|
|
|
205
205
|
- **Logs**:
|
|
206
206
|
|
|
@@ -111,7 +111,7 @@ Difference between ``KubernetesPodOperator`` and Kubernetes object spec
|
|
|
111
111
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
112
112
|
The :class:`~airflow.providers.cncf.kubernetes.operators.pod.KubernetesPodOperator` can be considered
|
|
113
113
|
a substitute for a Kubernetes object spec definition that is able
|
|
114
|
-
to be run in the Airflow scheduler in the
|
|
114
|
+
to be run in the Airflow scheduler in the Dag context. If using the operator, there is no need to create the
|
|
115
115
|
equivalent YAML/JSON object spec for the Pod you would like to run.
|
|
116
116
|
The YAML file can still be provided with the ``pod_template_file`` or even the Pod Spec constructed in Python via
|
|
117
117
|
the ``full_pod_spec`` parameter which requires a Kubernetes ``V1Pod``.
|
|
@@ -496,7 +496,7 @@ spark_job_template.yaml
|
|
|
496
496
|
|
|
497
497
|
* kubernetes: This segment encompasses the task's Kubernetes resource configuration, directly corresponding to the Kubernetes API Documentation. Each resource type includes an example within the template.
|
|
498
498
|
|
|
499
|
-
* The designated base image to be utilized is ``
|
|
499
|
+
* The designated base image to be utilized is ``apache/spark-py:v3.4.0``.
|
|
500
500
|
|
|
501
501
|
* Ensure that the Spark code is either embedded within the image, mounted using a persistentVolume, or accessible from an external location such as an S3 bucket.
|
|
502
502
|
|
|
@@ -506,7 +506,7 @@ Next, create the task using the following:
|
|
|
506
506
|
|
|
507
507
|
SparkKubernetesOperator(
|
|
508
508
|
task_id="spark_task",
|
|
509
|
-
image="
|
|
509
|
+
image="apache/spark-py:v3.4.0", # OR custom image using that
|
|
510
510
|
code_path="local://path/to/spark/code.py",
|
|
511
511
|
application_file="spark_job_template.yaml", # OR spark_job_template.json
|
|
512
512
|
dag=dag,
|