apache-airflow-providers-cncf-kubernetes 10.11.0rc1__tar.gz → 10.12.2rc2__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.
Files changed (161) hide show
  1. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/NOTICE +1 -1
  2. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/PKG-INFO +11 -9
  3. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/README.rst +5 -4
  4. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/docs/changelog.rst +103 -0
  5. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/docs/cli-ref.rst +2 -2
  6. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/docs/index.rst +6 -5
  7. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/provider.yaml +8 -10
  8. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/pyproject.toml +9 -5
  9. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/__init__.py +1 -1
  10. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/backcompat/backwards_compat_converters.py +1 -1
  11. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/callbacks.py +16 -2
  12. apache_airflow_providers_cncf_kubernetes-10.12.2rc2/src/airflow/providers/cncf/kubernetes/cli/definition.py +115 -0
  13. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/cli/kubernetes_command.py +3 -1
  14. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/decorators/kubernetes.py +8 -3
  15. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/decorators/kubernetes_cmd.py +6 -3
  16. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/exceptions.py +6 -0
  17. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/executors/kubernetes_executor.py +6 -85
  18. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/executors/kubernetes_executor_utils.py +8 -3
  19. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/executors/local_kubernetes_executor.py +6 -3
  20. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/get_provider_info.py +1 -6
  21. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/hooks/kubernetes.py +139 -22
  22. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/kube_config.py +2 -24
  23. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/kubernetes_helper_functions.py +7 -5
  24. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/operators/custom_object_launcher.py +1 -1
  25. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/operators/job.py +27 -20
  26. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/operators/kueue.py +1 -1
  27. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/operators/pod.py +148 -57
  28. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/operators/resource.py +1 -1
  29. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/operators/spark_kubernetes.py +20 -9
  30. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/resource_convert/env_variable.py +1 -1
  31. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/sensors/spark_kubernetes.py +2 -3
  32. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/template_rendering.py +1 -1
  33. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/triggers/pod.py +25 -12
  34. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/utils/pod_manager.py +120 -72
  35. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/backcompat/test_backwards_compat_converters.py +1 -1
  36. apache_airflow_providers_cncf_kubernetes-10.12.2rc2/tests/unit/cncf/kubernetes/cli/test_definition.py +128 -0
  37. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/decorators/test_kubernetes.py +47 -0
  38. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/decorators/test_kubernetes_cmd.py +23 -0
  39. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/decorators/test_kubernetes_commons.py +4 -6
  40. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/executors/test_kubernetes_executor.py +13 -1
  41. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/hooks/test_kubernetes.py +291 -2
  42. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/log_handlers/test_log_handlers.py +7 -2
  43. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/operators/test_custom_object_launcher.py +1 -1
  44. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/operators/test_job.py +180 -51
  45. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/operators/test_kueue.py +1 -1
  46. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/operators/test_pod.py +187 -26
  47. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/operators/test_spark_kubernetes.py +128 -40
  48. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/sensors/test_spark_kubernetes.py +1 -1
  49. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/test_template_rendering.py +1 -1
  50. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/triggers/test_pod.py +66 -5
  51. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/utils/test_pod_manager.py +535 -46
  52. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/LICENSE +0 -0
  53. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/docs/.latest-doc-only-change.txt +0 -0
  54. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/docs/commits.rst +0 -0
  55. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/docs/conf.py +0 -0
  56. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/docs/configurations-ref.rst +0 -0
  57. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/docs/connections/kubernetes.rst +0 -0
  58. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/docs/img/arch-diag-kubernetes.png +0 -0
  59. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/docs/img/arch-diag-kubernetes2.png +0 -0
  60. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/docs/img/k8s-failed-pod.png +0 -0
  61. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/docs/img/k8s-happy-path.png +0 -0
  62. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/docs/installing-providers-from-sources.rst +0 -0
  63. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/docs/integration-logos/Kubernetes.png +0 -0
  64. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/docs/integration-logos/Spark-On-Kubernetes.png +0 -0
  65. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/docs/kubernetes_executor.rst +0 -0
  66. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/docs/local_kubernetes_executor.rst +0 -0
  67. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/docs/operators.rst +0 -0
  68. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/docs/redirects.txt +0 -0
  69. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/docs/security.rst +0 -0
  70. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/__init__.py +0 -0
  71. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/__init__.py +0 -0
  72. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/__init__.py +0 -0
  73. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/backcompat/__init__.py +0 -0
  74. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/cli/__init__.py +0 -0
  75. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/decorators/__init__.py +0 -0
  76. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/executors/__init__.py +0 -0
  77. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/executors/kubernetes_executor_types.py +0 -0
  78. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/hooks/__init__.py +0 -0
  79. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/k8s_model.py +0 -0
  80. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/kube_client.py +0 -0
  81. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/kubernetes_executor_templates/__init__.py +0 -0
  82. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/kubernetes_executor_templates/basic_template.yaml +0 -0
  83. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/operators/__init__.py +0 -0
  84. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/pod_generator.py +0 -0
  85. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/pod_template_file_examples/__init__.py +0 -0
  86. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/pod_template_file_examples/dags_in_image_template.yaml +0 -0
  87. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/pod_template_file_examples/dags_in_volume_template.yaml +0 -0
  88. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/pod_template_file_examples/git_sync_template.yaml +0 -0
  89. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/python_kubernetes_script.jinja2 +0 -0
  90. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/python_kubernetes_script.py +0 -0
  91. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/resource_convert/__init__.py +0 -0
  92. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/resource_convert/configmap.py +0 -0
  93. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/resource_convert/secret.py +0 -0
  94. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/secret.py +0 -0
  95. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/sensors/__init__.py +0 -0
  96. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/triggers/__init__.py +0 -0
  97. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/triggers/job.py +0 -0
  98. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/utils/__init__.py +0 -0
  99. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/utils/container.py +0 -0
  100. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/utils/delete_from.py +0 -0
  101. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/utils/k8s_resource_iterator.py +0 -0
  102. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/utils/xcom_sidecar.py +0 -0
  103. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/src/airflow/providers/cncf/kubernetes/version_compat.py +0 -0
  104. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/conftest.py +0 -0
  105. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/system/__init__.py +0 -0
  106. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/system/cncf/__init__.py +0 -0
  107. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/system/cncf/kubernetes/__init__.py +0 -0
  108. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/system/cncf/kubernetes/example_kubernetes.py +0 -0
  109. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/system/cncf/kubernetes/example_kubernetes_async.py +0 -0
  110. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/system/cncf/kubernetes/example_kubernetes_cmd_decorator.py +0 -0
  111. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/system/cncf/kubernetes/example_kubernetes_decorator.py +0 -0
  112. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/system/cncf/kubernetes/example_kubernetes_job.py +0 -0
  113. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/system/cncf/kubernetes/example_kubernetes_kueue.py +0 -0
  114. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/system/cncf/kubernetes/example_kubernetes_resource.py +0 -0
  115. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/system/cncf/kubernetes/example_spark_kubernetes.py +0 -0
  116. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/system/cncf/kubernetes/example_spark_kubernetes_spark_pi.yaml +0 -0
  117. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/system/cncf/kubernetes/spark_job_template.yaml +0 -0
  118. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/__init__.py +0 -0
  119. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/__init__.py +0 -0
  120. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/__init__.py +0 -0
  121. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/backcompat/__init__.py +0 -0
  122. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/cli/__init__.py +0 -0
  123. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/cli/test_kubernetes_command.py +0 -0
  124. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/conftest.py +0 -0
  125. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/data_files/__init__.py +0 -0
  126. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/data_files/executor/__init__.py +0 -0
  127. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/data_files/executor/basic_template.yaml +0 -0
  128. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/data_files/kube_config +0 -0
  129. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/data_files/pods/__init__.py +0 -0
  130. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/data_files/pods/generator_base.yaml +0 -0
  131. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/data_files/pods/generator_base_with_secrets.yaml +0 -0
  132. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/data_files/pods/template.yaml +0 -0
  133. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/data_files/spark/__init__.py +0 -0
  134. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/data_files/spark/application_template.yaml +0 -0
  135. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/data_files/spark/application_test.json +0 -0
  136. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/data_files/spark/application_test.yaml +0 -0
  137. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/data_files/spark/application_test_with_no_name_from_config.json +0 -0
  138. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/data_files/spark/application_test_with_no_name_from_config.yaml +0 -0
  139. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/decorators/__init__.py +0 -0
  140. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/executors/__init__.py +0 -0
  141. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/executors/test_local_kubernetes_executor.py +0 -0
  142. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/hooks/__init__.py +0 -0
  143. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/log_handlers/__init__.py +0 -0
  144. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/models/__init__.py +0 -0
  145. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/models/test_secret.py +0 -0
  146. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/operators/__init__.py +0 -0
  147. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/operators/test_resource.py +0 -0
  148. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/resource_convert/__init__.py +0 -0
  149. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/resource_convert/test_configmap.py +0 -0
  150. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/resource_convert/test_env_variable.py +0 -0
  151. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/resource_convert/test_secret.py +0 -0
  152. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/sensors/__init__.py +0 -0
  153. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/test_callbacks.py +0 -0
  154. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/test_client.py +0 -0
  155. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/test_kubernetes_helper_functions.py +0 -0
  156. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/test_pod_generator.py +0 -0
  157. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/triggers/__init__.py +0 -0
  158. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/triggers/test_job.py +0 -0
  159. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/utils/__init__.py +0 -0
  160. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/utils/test_container.py +0 -0
  161. {apache_airflow_providers_cncf_kubernetes-10.11.0rc1 → apache_airflow_providers_cncf_kubernetes-10.12.2rc2}/tests/unit/cncf/kubernetes/utils/test_k8s_resource_iterator.py +0 -0
@@ -1,5 +1,5 @@
1
1
  Apache Airflow
2
- Copyright 2016-2025 The Apache Software Foundation
2
+ Copyright 2016-2026 The Apache Software Foundation
3
3
 
4
4
  This product includes software developed at
5
5
  The Apache Software Foundation (http://www.apache.org/).
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apache-airflow-providers-cncf-kubernetes
3
- Version: 10.11.0rc1
3
+ Version: 10.12.2rc2
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>
@@ -24,14 +24,15 @@ License-File: LICENSE
24
24
  License-File: NOTICE
25
25
  Requires-Dist: aiofiles>=23.2.0
26
26
  Requires-Dist: apache-airflow>=2.11.0rc1
27
- Requires-Dist: apache-airflow-providers-common-compat>=1.8.0rc1
27
+ Requires-Dist: apache-airflow-providers-common-compat>=1.10.1rc1
28
28
  Requires-Dist: asgiref>=3.5.2
29
29
  Requires-Dist: cryptography>=41.0.0,<46.0.0
30
- Requires-Dist: kubernetes>=32.0.0,<35.0.0
30
+ Requires-Dist: kubernetes>=35.0.0,<36.0.0
31
+ Requires-Dist: urllib3>=2.1.0,!=2.6.0
31
32
  Requires-Dist: kubernetes_asyncio>=32.0.0,<35.0.0
32
33
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
33
- Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.11.0/changelog.html
34
- Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.11.0
34
+ Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.12.2/changelog.html
35
+ Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.12.2
35
36
  Project-URL: Mastodon, https://fosstodon.org/@airflow
36
37
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
37
38
  Project-URL: Source Code, https://github.com/apache/airflow
@@ -62,7 +63,7 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
62
63
 
63
64
  Package ``apache-airflow-providers-cncf-kubernetes``
64
65
 
65
- Release: ``10.11.0``
66
+ Release: ``10.12.2``
66
67
 
67
68
 
68
69
  `Kubernetes <https://kubernetes.io/>`__
@@ -75,7 +76,7 @@ This is a provider package for ``cncf.kubernetes`` provider. All classes for thi
75
76
  are in ``airflow.providers.cncf.kubernetes`` python package.
76
77
 
77
78
  You can find package information and changelog for the provider
78
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.11.0/>`_.
79
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.12.2/>`_.
79
80
 
80
81
  Installation
81
82
  ------------
@@ -94,10 +95,11 @@ PIP package Version required
94
95
  ========================================== ====================
95
96
  ``aiofiles`` ``>=23.2.0``
96
97
  ``apache-airflow`` ``>=2.11.0``
97
- ``apache-airflow-providers-common-compat`` ``>=1.8.0``
98
+ ``apache-airflow-providers-common-compat`` ``>=1.10.1``
98
99
  ``asgiref`` ``>=3.5.2``
99
100
  ``cryptography`` ``>=41.0.0,<46.0.0``
100
101
  ``kubernetes`` ``>=32.0.0,<35.0.0``
102
+ ``urllib3`` ``>=2.1.0,!=2.6.0``
101
103
  ``kubernetes_asyncio`` ``>=32.0.0,<35.0.0``
102
104
  ========================================== ====================
103
105
 
@@ -121,5 +123,5 @@ Dependent package
121
123
  ================================================================================================================== =================
122
124
 
123
125
  The changelog for the provider package can be found in the
124
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.11.0/changelog.html>`_.
126
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.12.2/changelog.html>`_.
125
127
 
@@ -23,7 +23,7 @@
23
23
 
24
24
  Package ``apache-airflow-providers-cncf-kubernetes``
25
25
 
26
- Release: ``10.11.0``
26
+ Release: ``10.12.2``
27
27
 
28
28
 
29
29
  `Kubernetes <https://kubernetes.io/>`__
@@ -36,7 +36,7 @@ This is a provider package for ``cncf.kubernetes`` provider. All classes for thi
36
36
  are in ``airflow.providers.cncf.kubernetes`` python package.
37
37
 
38
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.11.0/>`_.
39
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.12.2/>`_.
40
40
 
41
41
  Installation
42
42
  ------------
@@ -55,10 +55,11 @@ PIP package Version required
55
55
  ========================================== ====================
56
56
  ``aiofiles`` ``>=23.2.0``
57
57
  ``apache-airflow`` ``>=2.11.0``
58
- ``apache-airflow-providers-common-compat`` ``>=1.8.0``
58
+ ``apache-airflow-providers-common-compat`` ``>=1.10.1``
59
59
  ``asgiref`` ``>=3.5.2``
60
60
  ``cryptography`` ``>=41.0.0,<46.0.0``
61
61
  ``kubernetes`` ``>=32.0.0,<35.0.0``
62
+ ``urllib3`` ``>=2.1.0,!=2.6.0``
62
63
  ``kubernetes_asyncio`` ``>=32.0.0,<35.0.0``
63
64
  ========================================== ====================
64
65
 
@@ -82,4 +83,4 @@ Dependent package
82
83
  ================================================================================================================== =================
83
84
 
84
85
  The changelog for the provider package can be found in the
85
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.11.0/changelog.html>`_.
86
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.12.2/changelog.html>`_.
@@ -27,6 +27,105 @@
27
27
  Changelog
28
28
  ---------
29
29
 
30
+ .. warning::
31
+ ``KubernetesJobOperator`` no longer supports setting ``parallelism = 0`` with ``wait_until_job_complete=True``.
32
+ Previously this would create a job that would never complete and always fail the task.
33
+ Executing a task with ``parallelism = 0`` and ``wait_until_job_complete=True`` will now raise a validation error.
34
+
35
+ 10.12.2
36
+ .......
37
+
38
+ Bug Fixes
39
+ ~~~~~~~~~
40
+
41
+ * ``Handle backwards-compatibility for older Google provider (#60730)``
42
+ * ``Kubernetes Pod Operator: Skip async defferal when pod already complete (#58684)``
43
+
44
+ .. Below changes are excluded from the changelog. Move them to
45
+ appropriate section above if needed. Do not delete the lines(!):
46
+
47
+ 10.12.1
48
+ .......
49
+
50
+ Bug Fixes
51
+ ~~~~~~~~~
52
+
53
+ * ``KubernetesPodOperator: Fix hanging API calls (#60254)``
54
+ * ``KubernetesPodOperator check xcom sidecar running before trying to read xcom (#60319)``
55
+ * ``Prevent transient error in case when Pod start_time parameter is None (#59097)``
56
+ * ``Add support for creating jobs with parallelism=0 to KubernetesJobOperator (#60372)``
57
+ * ``Fix duplicate pod creation in KubernetesJobOperator (#53368)``
58
+ * ``Kubernetes Pod Operator callbacks repeating log line (#59372)``
59
+ * ``Fix job_name normalization in KubernetesJobOperator (#60231)``
60
+
61
+ Misc
62
+ ~~~~
63
+
64
+ * ``Replace deprecated import for utcnow() to the new one (#60317)``
65
+ * ``Fix mypy error in provider (#60395)``
66
+ * ``New year means updated Copyright notices (#60344)``
67
+ * ``Making kubernetes executor ResourceVersion a self contained singleton (#60324)``
68
+ * ``Re-apply PriorityWeightStrategy SDK work (#60112)``
69
+ * ``Introduce a "cli" section in provider metadata (#59805)``
70
+
71
+ Doc-only
72
+ ~~~~~~~~
73
+
74
+ * ``Improve changelog descriptions in PR #59947 (latest versions only) (#60036)``
75
+
76
+ .. Below changes are excluded from the changelog. Move them to
77
+ appropriate section above if needed. Do not delete the lines(!):
78
+ * ``revert: remove k8s namespace and worker image deprecations (#60273)``
79
+ * ``Remove TaskInstance and TaskLogReader unused methods (#59922)``
80
+
81
+ 10.12.0
82
+ .......
83
+
84
+ Features
85
+ ~~~~~~~~
86
+
87
+ * ``Add 'delete_active_pod' cleanup option and corresponding unit tests (#59160)``
88
+
89
+ Bug Fixes
90
+ ~~~~~~~~~
91
+
92
+ * ``Fix '@task.kubernetes_cmd' TaskGroup.expand mappings by templating TaskFlow args (#59292)``
93
+ * ``Fix 'KubernetesPodOperator' deferrable mode with env-defined connection (#41706) (#58841)``
94
+ * ``Fix deferred mode KubernetesPodOperator: fast-fail pod start errors (ErrImagePull/ImagePullBackOff) (#59010)``
95
+ * ``Fix XCom directory creation logic in Kubernetes decorator (#56545) (#59347)``
96
+
97
+ Misc
98
+ ~~~~
99
+
100
+ * ``TaskInstance unused method cleanup (#59835)``
101
+ * ``Remove top-level SDK reference in Core (#59817)``
102
+ * ``Add and fix SIM107 and B012 Ruff rule (#59770)``
103
+ * ``Refactor/sqla2 providers(celery, kubernetes, databricks, mysql) to remove SQLA query usage (#59537)``
104
+ * ``Optimize Kubernetes API usage for watching events (#59080)``
105
+
106
+ .. Below changes are excluded from the changelog. Move them to
107
+ appropriate section above if needed. Do not delete the lines(!):
108
+ * ``Revert "Remove PriorityWeightStrategy reference in SDK" (#59828)``
109
+ * ``Remove PriorityWeightStrategy reference in SDK (#59780)``
110
+
111
+ 10.11.1
112
+ .......
113
+
114
+ Bug Fixes
115
+ ~~~~~~~~~
116
+
117
+ * ``Fix finally return handling (#58998)``
118
+
119
+ Misc
120
+ ~~~~
121
+
122
+ * ``Convert the exclusion on urllib3 to != for 2.6.0 (#59203)``
123
+ * ``Add backcompat for exceptions in providers (#58727)``
124
+ * ``Limit urllib3 to < 2.6.0 to handle kubernetes client breaking with it (#59108)``
125
+ * ``Move the traces and metrics code under a common observability package (#56187)``
126
+
127
+ .. Below changes are excluded from the changelog. Move them to
128
+ appropriate section above if needed. Do not delete the lines(!):
30
129
 
31
130
  10.11.0
32
131
  .......
@@ -44,18 +143,22 @@ Bug Fixes
44
143
  * ``KubernetesPodOperator pushes XCom on successful execution. (#58488)``
45
144
  * ``KubernetesPodOperator PodManager retries during create pod on too many requests error (#58033)``
46
145
  * ``Add JSON serialization for kubeconfig in AsyncKubernetesHook (#57169)``
146
+ * ``Make the launcher a cached_property and minor change to improve how pod name is retrieved (#58646)``
147
+ * ``Add retry handling for Kubernetes API client operations in KubernetesPodOperator (#58778)``
47
148
 
48
149
  Misc
49
150
  ~~~~
50
151
 
51
152
  * ``Move out some exceptions to TaskSDK (#54505)``
52
153
  * ``Bump minimum Airflow version in providers to Airflow 2.11.0 (#58612)``
154
+ * ``Fix lower bound dependency to common-compat provider (#58833)``
53
155
 
54
156
  .. Below changes are excluded from the changelog. Move them to
55
157
  appropriate section above if needed. Do not delete the lines(!):
56
158
  * ``Updates to release process of providers (#58316)``
57
159
  * ``Send executor integration info in workload (#57800)``
58
160
  * ``Fixes #57515 - Fix test_async_write_logs_should_execute_successfully test (#58276)``
161
+ * ``Prepare release for 2025-11-27 wave of providers (#58697)``
59
162
 
60
163
  10.10.0
61
164
  .......
@@ -24,6 +24,6 @@ Kubernetes Executor Commands
24
24
  the core Airflow documentation for the list of CLI commands and parameters available.
25
25
 
26
26
  .. argparse::
27
- :module: airflow.providers.cncf.kubernetes.executors.kubernetes_executor
28
- :func: _get_parser
27
+ :module: airflow.providers.cncf.kubernetes.cli.definition
28
+ :func: get_parser
29
29
  :prog: airflow
@@ -87,7 +87,7 @@ apache-airflow-providers-cncf-kubernetes package
87
87
  `Kubernetes <https://kubernetes.io/>`__
88
88
 
89
89
 
90
- Release: 10.11.0
90
+ Release: 10.12.2
91
91
 
92
92
  Provider package
93
93
  ----------------
@@ -112,10 +112,11 @@ PIP package Version required
112
112
  ========================================== ====================
113
113
  ``aiofiles`` ``>=23.2.0``
114
114
  ``apache-airflow`` ``>=2.11.0``
115
- ``apache-airflow-providers-common-compat`` ``>=1.8.0``
115
+ ``apache-airflow-providers-common-compat`` ``>=1.10.1``
116
116
  ``asgiref`` ``>=3.5.2``
117
117
  ``cryptography`` ``>=41.0.0,<46.0.0``
118
- ``kubernetes`` ``>=32.0.0,<35.0.0``
118
+ ``kubernetes`` ``>=35.0.0,<36.0.0``
119
+ ``urllib3`` ``>=2.1.0,!=2.6.0``
119
120
  ``kubernetes_asyncio`` ``>=32.0.0,<35.0.0``
120
121
  ========================================== ====================
121
122
 
@@ -144,5 +145,5 @@ Downloading official packages
144
145
  You can download officially released packages and verify their checksums and signatures from the
145
146
  `Official Apache Download site <https://downloads.apache.org/airflow/providers/>`_
146
147
 
147
- * `The apache-airflow-providers-cncf-kubernetes 10.11.0 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_cncf_kubernetes-10.11.0.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_cncf_kubernetes-10.11.0.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_cncf_kubernetes-10.11.0.tar.gz.sha512>`__)
148
- * `The apache-airflow-providers-cncf-kubernetes 10.11.0 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_cncf_kubernetes-10.11.0-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_cncf_kubernetes-10.11.0-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_cncf_kubernetes-10.11.0-py3-none-any.whl.sha512>`__)
148
+ * `The apache-airflow-providers-cncf-kubernetes 10.12.2 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_cncf_kubernetes-10.12.2.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_cncf_kubernetes-10.12.2.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_cncf_kubernetes-10.12.2.tar.gz.sha512>`__)
149
+ * `The apache-airflow-providers-cncf-kubernetes 10.12.2 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_cncf_kubernetes-10.12.2-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_cncf_kubernetes-10.12.2-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_cncf_kubernetes-10.12.2-py3-none-any.whl.sha512>`__)
@@ -22,12 +22,16 @@ description: |
22
22
  `Kubernetes <https://kubernetes.io/>`__
23
23
 
24
24
  state: ready
25
- source-date-epoch: 1764109853
25
+ source-date-epoch: 1768685603
26
26
  # Note that those versions are maintained by release manager - do not update them manually
27
27
  # with the exception of case where other provider in sources has >= new provider version.
28
28
  # In such case adding >= NEW_VERSION and bumping to NEW_VERSION in a provider have
29
29
  # to be done in the same PR
30
30
  versions:
31
+ - 10.12.2
32
+ - 10.12.1
33
+ - 10.12.0
34
+ - 10.11.1
31
35
  - 10.11.0
32
36
  - 10.10.0
33
37
  - 10.9.0
@@ -212,9 +216,6 @@ config:
212
216
  type: string
213
217
  example: ~
214
218
  default: ""
215
- deprecated: true
216
- deprecation_reason: |
217
- This configuration is deprecated. Use `pod_template_file` to specify container image instead.
218
219
  worker_container_tag:
219
220
  description: |
220
221
  The tag of the Kubernetes Image for the Worker to Run
@@ -222,9 +223,6 @@ config:
222
223
  type: string
223
224
  example: ~
224
225
  default: ""
225
- deprecated: true
226
- deprecation_reason: |
227
- This configuration is deprecated. Use `pod_template_file` to specify the image tag instead.
228
226
  namespace:
229
227
  description: |
230
228
  The Kubernetes namespace where airflow workers should be created. Defaults to ``default``
@@ -232,9 +230,6 @@ config:
232
230
  type: string
233
231
  example: ~
234
232
  default: "default"
235
- deprecated: true
236
- deprecation_reason: |
237
- This configuration is deprecated. Use `pod_template_file` to specify namespace instead.
238
233
  delete_worker_pods:
239
234
  description: |
240
235
  If True, all worker pods will be deleted upon termination
@@ -396,3 +391,6 @@ config:
396
391
 
397
392
  executors:
398
393
  - airflow.providers.cncf.kubernetes.executors.kubernetes_executor.KubernetesExecutor
394
+
395
+ cli:
396
+ - airflow.providers.cncf.kubernetes.cli.definition.get_kubernetes_cli_commands
@@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi"
25
25
 
26
26
  [project]
27
27
  name = "apache-airflow-providers-cncf-kubernetes"
28
- version = "10.11.0rc1"
28
+ version = "10.12.2rc2"
29
29
  description = "Provider package apache-airflow-providers-cncf-kubernetes for Apache Airflow"
30
30
  readme = "README.rst"
31
31
  license = "Apache-2.0"
@@ -60,7 +60,7 @@ requires-python = ">=3.10"
60
60
  dependencies = [
61
61
  "aiofiles>=23.2.0",
62
62
  "apache-airflow>=2.11.0rc1",
63
- "apache-airflow-providers-common-compat>=1.8.0rc1",
63
+ "apache-airflow-providers-common-compat>=1.10.1rc1",
64
64
  "asgiref>=3.5.2",
65
65
  # TODO(potiuk): We should bump cryptography to >=46.0.0 when sqlalchemy>=2.0 is required
66
66
  "cryptography>=41.0.0,<46.0.0",
@@ -72,7 +72,11 @@ dependencies = [
72
72
  # limiting minimum airflow version supported in cncf.kubernetes provider, due to the
73
73
  # potential breaking changes in Airflow Core as well (kubernetes is added as extra, so Airflow
74
74
  # core is not hard-limited via install-requirements, only by extra).
75
- "kubernetes>=32.0.0,<35.0.0",
75
+ "kubernetes>=35.0.0,<36.0.0",
76
+ # Urllib 2.6.0 breaks kubernetes client because kubernetes client uses deprecated in 2.0.0 and
77
+ # removed in 2.6.0 `getheaders()` call (instead of `headers` property.
78
+ # Tracked in https://github.com/kubernetes-client/python/issues/2477
79
+ "urllib3>=2.1.0,!=2.6.0",
76
80
  # the version is limited to the next MAJOR version and should by synced with the kubernetes version
77
81
  "kubernetes_asyncio>=32.0.0,<35.0.0",
78
82
  ]
@@ -112,8 +116,8 @@ apache-airflow-providers-common-sql = {workspace = true}
112
116
  apache-airflow-providers-standard = {workspace = true}
113
117
 
114
118
  [project.urls]
115
- "Documentation" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.11.0"
116
- "Changelog" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.11.0/changelog.html"
119
+ "Documentation" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.12.2"
120
+ "Changelog" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-cncf-kubernetes/10.12.2/changelog.html"
117
121
  "Bug Tracker" = "https://github.com/apache/airflow/issues"
118
122
  "Source Code" = "https://github.com/apache/airflow"
119
123
  "Slack Chat" = "https://s.apache.org/airflow-slack"
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "10.11.0"
32
+ __version__ = "10.12.2"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
35
  "2.11.0"
@@ -20,7 +20,7 @@ from __future__ import annotations
20
20
 
21
21
  from kubernetes.client import ApiClient, models as k8s
22
22
 
23
- from airflow.exceptions import AirflowException
23
+ from airflow.providers.common.compat.sdk import AirflowException
24
24
 
25
25
 
26
26
  def _convert_kube_model_object(obj, new_class):
@@ -23,8 +23,10 @@ import kubernetes.client as k8s
23
23
  import kubernetes_asyncio.client as async_k8s
24
24
 
25
25
  if TYPE_CHECKING:
26
+ from pendulum import DateTime
27
+
26
28
  from airflow.providers.cncf.kubernetes.operators.pod import KubernetesPodOperator
27
- from airflow.utils.context import Context
29
+ from airflow.sdk import Context
28
30
 
29
31
  client_type: TypeAlias = k8s.CoreV1Api | async_k8s.CoreV1Api
30
32
 
@@ -189,12 +191,24 @@ class KubernetesPodOperatorCallback:
189
191
  pass
190
192
 
191
193
  @staticmethod
192
- def progress_callback(*, line: str, client: client_type, mode: str, **kwargs) -> None:
194
+ def progress_callback(
195
+ *,
196
+ line: str,
197
+ client: client_type,
198
+ mode: str,
199
+ container_name: str,
200
+ timestamp: DateTime | None,
201
+ pod: k8s.V1Pod,
202
+ **kwargs,
203
+ ) -> None:
193
204
  """
194
205
  Invoke this callback to process pod container logs.
195
206
 
196
207
  :param line: the read line of log.
197
208
  :param client: the Kubernetes client that can be used in the callback.
198
209
  :param mode: the current execution mode, it's one of (`sync`, `async`).
210
+ :param container_name: the name of the container from which the log line was read.
211
+ :param timestamp: the timestamp of the log line.
212
+ :param pod: the pod from which the log line was read.
199
213
  """
200
214
  pass
@@ -0,0 +1,115 @@
1
+ # Licensed to the Apache Software Foundation (ASF) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The ASF licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+ from __future__ import annotations
18
+
19
+ from typing import TYPE_CHECKING
20
+
21
+ from airflow.cli.cli_config import (
22
+ ARG_DAG_ID,
23
+ ARG_OUTPUT_PATH,
24
+ ARG_VERBOSE,
25
+ ActionCommand,
26
+ Arg,
27
+ GroupCommand,
28
+ lazy_load_command,
29
+ positive_int,
30
+ )
31
+ from airflow.configuration import conf
32
+ from airflow.providers.cncf.kubernetes.version_compat import AIRFLOW_V_3_0_PLUS
33
+
34
+ if TYPE_CHECKING:
35
+ import argparse
36
+
37
+
38
+ try:
39
+ from airflow.cli.cli_config import ARG_LOGICAL_DATE
40
+ except ImportError: # 2.x compatibility.
41
+ from airflow.cli.cli_config import ( # type: ignore[attr-defined, no-redef]
42
+ ARG_EXECUTION_DATE as ARG_LOGICAL_DATE,
43
+ )
44
+
45
+ if AIRFLOW_V_3_0_PLUS:
46
+ from airflow.cli.cli_config import ARG_BUNDLE_NAME
47
+
48
+ ARG_COMPAT = ARG_BUNDLE_NAME
49
+ else:
50
+ from airflow.cli.cli_config import ARG_SUBDIR # type: ignore[attr-defined]
51
+
52
+ ARG_COMPAT = ARG_SUBDIR
53
+
54
+ # CLI Args
55
+ ARG_NAMESPACE = Arg(
56
+ ("--namespace",),
57
+ default=conf.get("kubernetes_executor", "namespace"),
58
+ help="Kubernetes Namespace. Default value is `[kubernetes] namespace` in configuration.",
59
+ )
60
+
61
+ ARG_MIN_PENDING_MINUTES = Arg(
62
+ ("--min-pending-minutes",),
63
+ default=30,
64
+ type=positive_int(allow_zero=False),
65
+ help=(
66
+ "Pending pods created before the time interval are to be cleaned up, "
67
+ "measured in minutes. Default value is 30(m). The minimum value is 5(m)."
68
+ ),
69
+ )
70
+
71
+ # CLI Commands
72
+ KUBERNETES_COMMANDS = (
73
+ ActionCommand(
74
+ name="cleanup-pods",
75
+ help=(
76
+ "Clean up Kubernetes pods "
77
+ "(created by KubernetesExecutor/KubernetesPodOperator) "
78
+ "in evicted/failed/succeeded/pending states"
79
+ ),
80
+ func=lazy_load_command("airflow.providers.cncf.kubernetes.cli.kubernetes_command.cleanup_pods"),
81
+ args=(ARG_NAMESPACE, ARG_MIN_PENDING_MINUTES, ARG_VERBOSE),
82
+ ),
83
+ ActionCommand(
84
+ name="generate-dag-yaml",
85
+ help="Generate YAML files for all tasks in DAG. Useful for debugging tasks without "
86
+ "launching into a cluster",
87
+ func=lazy_load_command("airflow.providers.cncf.kubernetes.cli.kubernetes_command.generate_pod_yaml"),
88
+ args=(ARG_DAG_ID, ARG_LOGICAL_DATE, ARG_COMPAT, ARG_OUTPUT_PATH, ARG_VERBOSE),
89
+ ),
90
+ )
91
+
92
+
93
+ def get_kubernetes_cli_commands() -> list[GroupCommand]:
94
+ return [
95
+ GroupCommand(
96
+ name="kubernetes",
97
+ help="Tools to help run the KubernetesExecutor",
98
+ subcommands=KUBERNETES_COMMANDS,
99
+ )
100
+ ]
101
+
102
+
103
+ def get_parser() -> argparse.ArgumentParser:
104
+ """
105
+ Generate documentation; used by Sphinx.
106
+
107
+ :meta private:
108
+ """
109
+ from airflow.cli.cli_parser import AirflowHelpFormatter, DefaultHelpParser, _add_command
110
+
111
+ parser = DefaultHelpParser(prog="airflow", formatter_class=AirflowHelpFormatter)
112
+ subparsers = parser.add_subparsers(dest="subcommand", metavar="GROUP_OR_COMMAND")
113
+ for group_command in get_kubernetes_cli_commands():
114
+ _add_command(subparsers, group_command)
115
+ return parser
@@ -37,6 +37,8 @@ from airflow.utils import cli as cli_utils, yaml
37
37
  from airflow.utils.providers_configuration_loader import providers_configuration_loaded
38
38
  from airflow.utils.types import DagRunType
39
39
 
40
+ from tests_common.test_utils.taskinstance import create_task_instance
41
+
40
42
  if AIRFLOW_V_3_1_PLUS:
41
43
  from airflow.utils.cli import get_bagged_dag
42
44
  else:
@@ -73,7 +75,7 @@ def generate_pod_yaml(args):
73
75
  if AIRFLOW_V_3_0_PLUS:
74
76
  from uuid6 import uuid7
75
77
 
76
- ti = TaskInstance(task, run_id=dr.run_id, dag_version_id=uuid7())
78
+ ti = create_task_instance(task, run_id=dr.run_id, dag_version_id=uuid7())
77
79
  else:
78
80
  ti = TaskInstance(task, run_id=dr.run_id)
79
81
  ti.dag_run = dr
@@ -38,7 +38,7 @@ from airflow.providers.common.compat.sdk import (
38
38
  )
39
39
 
40
40
  if TYPE_CHECKING:
41
- from airflow.utils.context import Context
41
+ from airflow.sdk import Context
42
42
 
43
43
  _PYTHON_SCRIPT_ENV = "__PYTHON_SCRIPT"
44
44
  _PYTHON_INPUT_ENV = "__PYTHON_INPUT"
@@ -87,7 +87,13 @@ class _KubernetesDecoratedOperator(DecoratedOperator, KubernetesPodOperator):
87
87
  def _generate_cmds(self) -> list[str]:
88
88
  script_filename = "/tmp/script.py"
89
89
  input_filename = "/tmp/script.in"
90
- output_filename = "/airflow/xcom/return.json"
90
+
91
+ if getattr(self, "do_xcom_push", False):
92
+ output_filename = "/airflow/xcom/return.json"
93
+ make_xcom_dir_cmd = "mkdir -p /airflow/xcom"
94
+ else:
95
+ output_filename = "/dev/null"
96
+ make_xcom_dir_cmd = ":" # shell no-op
91
97
 
92
98
  write_local_script_file_cmd = (
93
99
  f"{_generate_decoded_command(quote(_PYTHON_SCRIPT_ENV), quote(script_filename))}"
@@ -95,7 +101,6 @@ class _KubernetesDecoratedOperator(DecoratedOperator, KubernetesPodOperator):
95
101
  write_local_input_file_cmd = (
96
102
  f"{_generate_decoded_command(quote(_PYTHON_INPUT_ENV), quote(input_filename))}"
97
103
  )
98
- make_xcom_dir_cmd = "mkdir -p /airflow/xcom"
99
104
  exec_python_cmd = f"python {script_filename} {input_filename} {output_filename}"
100
105
  return [
101
106
  "bash",
@@ -30,13 +30,14 @@ from airflow.providers.common.compat.sdk import (
30
30
  from airflow.utils.operator_helpers import determine_kwargs
31
31
 
32
32
  if TYPE_CHECKING:
33
- from airflow.utils.context import Context
33
+ from airflow.sdk import Context
34
34
 
35
35
 
36
36
  class _KubernetesCmdDecoratedOperator(DecoratedOperator, KubernetesPodOperator):
37
37
  custom_operator_name = "@task.kubernetes_cmd"
38
38
 
39
- template_fields: Sequence[str] = KubernetesPodOperator.template_fields
39
+ template_fields: Sequence[str] = tuple({"op_args", "op_kwargs", *KubernetesPodOperator.template_fields})
40
+
40
41
  overwrite_rtif_after_execution: bool = True
41
42
 
42
43
  def __init__(self, *, python_callable: Callable, args_only: bool = False, **kwargs) -> None:
@@ -69,6 +70,8 @@ class _KubernetesCmdDecoratedOperator(DecoratedOperator, KubernetesPodOperator):
69
70
  )
70
71
 
71
72
  def execute(self, context: Context):
73
+ self.render_template_fields(context)
74
+
72
75
  generated = self._generate_cmds(context)
73
76
  if self.args_only:
74
77
  self.cmds = []
@@ -76,7 +79,7 @@ class _KubernetesCmdDecoratedOperator(DecoratedOperator, KubernetesPodOperator):
76
79
  else:
77
80
  self.cmds = generated
78
81
  self.arguments = []
79
- context["ti"].render_templates() # type: ignore[attr-defined]
82
+ self.render_template_fields(context)
80
83
  return super().execute(context)
81
84
 
82
85
  def _generate_cmds(self, context: Context) -> list[str]:
@@ -18,6 +18,12 @@ from __future__ import annotations
18
18
 
19
19
  from airflow.exceptions import AirflowException
20
20
 
21
+ # Todo: we cannot have a backcompat import for AirflowException yet
22
+ # because PodMutationHookException is redefined in airflow.exception
23
+ # Remove this and either import AirflowException from common.sdk or
24
+ # import it from airflow.sdk.exceptions when PodMutationHookException
25
+ # is removed from airflow.exceptions
26
+
21
27
 
22
28
  class PodMutationHookException(AirflowException):
23
29
  """Raised when exception happens during Pod Mutation Hook execution."""