apache-airflow-providers-cncf-kubernetes 7.13.0__py3-none-any.whl → 7.14.0rc1__py3-none-any.whl

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.

Potentially problematic release.


This version of apache-airflow-providers-cncf-kubernetes might be problematic. Click here for more details.

Files changed (18) hide show
  1. airflow/providers/cncf/kubernetes/__init__.py +1 -1
  2. airflow/providers/cncf/kubernetes/callbacks.py +111 -0
  3. airflow/providers/cncf/kubernetes/get_provider_info.py +4 -2
  4. airflow/providers/cncf/kubernetes/hooks/kubernetes.py +4 -4
  5. airflow/providers/cncf/kubernetes/operators/custom_object_launcher.py +367 -0
  6. airflow/providers/cncf/kubernetes/operators/pod.py +74 -13
  7. airflow/providers/cncf/kubernetes/operators/spark_kubernetes.py +221 -136
  8. airflow/providers/cncf/kubernetes/pod_generator.py +13 -6
  9. airflow/providers/cncf/kubernetes/pod_launcher_deprecated.py +3 -3
  10. airflow/providers/cncf/kubernetes/resource_convert/__init__.py +16 -0
  11. airflow/providers/cncf/kubernetes/resource_convert/configmap.py +52 -0
  12. airflow/providers/cncf/kubernetes/resource_convert/env_variable.py +39 -0
  13. airflow/providers/cncf/kubernetes/resource_convert/secret.py +40 -0
  14. airflow/providers/cncf/kubernetes/utils/pod_manager.py +18 -4
  15. {apache_airflow_providers_cncf_kubernetes-7.13.0.dist-info → apache_airflow_providers_cncf_kubernetes-7.14.0rc1.dist-info}/METADATA +7 -7
  16. {apache_airflow_providers_cncf_kubernetes-7.13.0.dist-info → apache_airflow_providers_cncf_kubernetes-7.14.0rc1.dist-info}/RECORD +18 -12
  17. {apache_airflow_providers_cncf_kubernetes-7.13.0.dist-info → apache_airflow_providers_cncf_kubernetes-7.14.0rc1.dist-info}/WHEEL +0 -0
  18. {apache_airflow_providers_cncf_kubernetes-7.13.0.dist-info → apache_airflow_providers_cncf_kubernetes-7.14.0rc1.dist-info}/entry_points.txt +0 -0
@@ -39,7 +39,7 @@ from kubernetes.client.api_client import ApiClient
39
39
  from airflow.exceptions import (
40
40
  AirflowConfigException,
41
41
  AirflowException,
42
- RemovedInAirflow3Warning,
42
+ AirflowProviderDeprecationWarning,
43
43
  )
44
44
  from airflow.providers.cncf.kubernetes.kubernetes_helper_functions import (
45
45
  POD_NAME_MAX_LENGTH,
@@ -155,7 +155,7 @@ class PodGenerator:
155
155
 
156
156
  def gen_pod(self) -> k8s.V1Pod:
157
157
  """Generate pod."""
158
- warnings.warn("This function is deprecated. ", RemovedInAirflow3Warning)
158
+ warnings.warn("This function is deprecated. ", AirflowProviderDeprecationWarning, stacklevel=2)
159
159
  result = self.ud_pod
160
160
 
161
161
  result.metadata.name = add_pod_suffix(pod_name=result.metadata.name)
@@ -170,7 +170,9 @@ class PodGenerator:
170
170
  """Add sidecar."""
171
171
  warnings.warn(
172
172
  "This function is deprecated. "
173
- "Please use airflow.providers.cncf.kubernetes.utils.xcom_sidecar.add_xcom_sidecar instead"
173
+ "Please use airflow.providers.cncf.kubernetes.utils.xcom_sidecar.add_xcom_sidecar instead",
174
+ AirflowProviderDeprecationWarning,
175
+ stacklevel=2,
174
176
  )
175
177
  pod_cp = copy.deepcopy(pod)
176
178
  pod_cp.spec.volumes = pod.spec.volumes or []
@@ -207,7 +209,8 @@ class PodGenerator:
207
209
  "Using a dictionary for the executor_config is deprecated and will soon be removed."
208
210
  'please use a `kubernetes.client.models.V1Pod` class with a "pod_override" key'
209
211
  " instead. ",
210
- category=RemovedInAirflow3Warning,
212
+ category=AirflowProviderDeprecationWarning,
213
+ stacklevel=2,
211
214
  )
212
215
  return PodGenerator.from_legacy_obj(obj)
213
216
  else:
@@ -386,7 +389,10 @@ class PodGenerator:
386
389
  """
387
390
  if len(pod_id) > POD_NAME_MAX_LENGTH:
388
391
  warnings.warn(
389
- f"pod_id supplied is longer than {POD_NAME_MAX_LENGTH} characters; truncating and adding unique suffix."
392
+ f"pod_id supplied is longer than {POD_NAME_MAX_LENGTH} characters; "
393
+ f"truncating and adding unique suffix.",
394
+ UserWarning,
395
+ stacklevel=2,
390
396
  )
391
397
  pod_id = add_pod_suffix(pod_name=pod_id, max_len=POD_NAME_MAX_LENGTH)
392
398
  try:
@@ -583,7 +589,8 @@ class PodGenerator:
583
589
  """
584
590
  warnings.warn(
585
591
  "This function is deprecated. Use `add_pod_suffix` in `kubernetes_helper_functions`.",
586
- RemovedInAirflow3Warning,
592
+ AirflowProviderDeprecationWarning,
593
+ stacklevel=2,
587
594
  )
588
595
 
589
596
  if not pod_id:
@@ -21,7 +21,7 @@ import json
21
21
  import math
22
22
  import time
23
23
  import warnings
24
- from typing import TYPE_CHECKING
24
+ from typing import TYPE_CHECKING, cast
25
25
 
26
26
  import pendulum
27
27
  import tenacity
@@ -148,13 +148,13 @@ class PodLauncher(LoggingMixin):
148
148
  """
149
149
  if get_logs:
150
150
  read_logs_since_sec = None
151
- last_log_time = None
151
+ last_log_time: pendulum.DateTime | None = None
152
152
  while True:
153
153
  logs = self.read_pod_logs(pod, timestamps=True, since_seconds=read_logs_since_sec)
154
154
  for line in logs:
155
155
  timestamp, message = self.parse_log_line(line.decode("utf-8"))
156
156
  if timestamp:
157
- last_log_time = pendulum.parse(timestamp)
157
+ last_log_time = cast(pendulum.DateTime, pendulum.parse(timestamp))
158
158
  self.log.info(message)
159
159
  time.sleep(1)
160
160
 
@@ -0,0 +1,16 @@
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.
@@ -0,0 +1,52 @@
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 kubernetes.client import models as k8s
20
+
21
+
22
+ def convert_configmap(configmap_name) -> k8s.V1EnvFromSource:
23
+ """
24
+ Converts a str into an k8s object.
25
+
26
+ :param configmap_name: config map name
27
+ :return:
28
+ """
29
+ return k8s.V1EnvFromSource(config_map_ref=k8s.V1ConfigMapEnvSource(name=configmap_name))
30
+
31
+
32
+ def convert_configmap_to_volume(
33
+ configmap_info: dict[str, str],
34
+ ) -> tuple[list[k8s.V1Volume], list[k8s.V1VolumeMount]]:
35
+ """
36
+ Converts a dictionary of config_map_name and mount_path into k8s volume mount object and k8s volume.
37
+
38
+ :param configmap_info: a dictionary of {config_map_name: mount_path}
39
+ :return:
40
+ """
41
+ volume_mounts = []
42
+ volumes = []
43
+ for config_name, mount_path in configmap_info.items():
44
+ volume_mounts.append(k8s.V1VolumeMount(mount_path=mount_path, name=config_name))
45
+ volumes.append(
46
+ k8s.V1Volume(
47
+ name=config_name,
48
+ config_map=k8s.V1ConfigMapVolumeSource(name=config_name),
49
+ )
50
+ )
51
+
52
+ return volumes, volume_mounts
@@ -0,0 +1,39 @@
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 kubernetes.client import models as k8s
20
+
21
+ from airflow.exceptions import AirflowException
22
+
23
+
24
+ def convert_env_vars(env_vars) -> list[k8s.V1EnvVar]:
25
+ """
26
+ Converts a dictionary of key:value into a list of env_vars.
27
+
28
+ :param env_vars:
29
+ :return:
30
+ """
31
+ if isinstance(env_vars, dict):
32
+ res = []
33
+ for k, v in env_vars.items():
34
+ res.append(k8s.V1EnvVar(name=k, value=v))
35
+ return res
36
+ elif isinstance(env_vars, list):
37
+ if all([isinstance(e, k8s.V1EnvVar) for e in env_vars]):
38
+ return env_vars
39
+ raise AirflowException(f"Expected dict or list of V1EnvVar, got {type(env_vars)}")
@@ -0,0 +1,40 @@
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 kubernetes.client import models as k8s
20
+
21
+
22
+ def convert_secret(secret_name: str) -> k8s.V1EnvFromSource:
23
+ """
24
+ Converts a str into an k8s object.
25
+
26
+ :param secret_name:
27
+ :return:
28
+ """
29
+ return k8s.V1EnvFromSource(secret_ref=k8s.V1SecretEnvSource(name=secret_name))
30
+
31
+
32
+ def convert_image_pull_secrets(image_pull_secrets: str) -> list[k8s.V1LocalObjectReference]:
33
+ """
34
+ Converts a image pull secret name into k8s local object reference.
35
+
36
+ :param image_pull_secrets: comma separated string that contains secrets
37
+ :return:
38
+ """
39
+ secrets = image_pull_secrets.split(",")
40
+ return [k8s.V1LocalObjectReference(name=secret) for secret in secrets]
@@ -40,6 +40,7 @@ from typing_extensions import Literal
40
40
  from urllib3.exceptions import HTTPError, TimeoutError
41
41
 
42
42
  from airflow.exceptions import AirflowException, AirflowProviderDeprecationWarning
43
+ from airflow.providers.cncf.kubernetes.callbacks import ExecutionMode, KubernetesPodOperatorCallback
43
44
  from airflow.providers.cncf.kubernetes.pod_generator import PodDefaults
44
45
  from airflow.utils.log.logging_mixin import LoggingMixin
45
46
  from airflow.utils.timezone import utcnow
@@ -50,6 +51,7 @@ if TYPE_CHECKING:
50
51
  from kubernetes.client.models.v1_pod import V1Pod
51
52
  from urllib3.response import HTTPResponse
52
53
 
54
+
53
55
  EMPTY_XCOM_RESULT = "__airflow_xcom_result_empty__"
54
56
  """
55
57
  Sentinel for no xcom result.
@@ -287,18 +289,22 @@ class PodManager(LoggingMixin):
287
289
  def __init__(
288
290
  self,
289
291
  kube_client: client.CoreV1Api,
292
+ callbacks: type[KubernetesPodOperatorCallback] | None = None,
290
293
  progress_callback: Callable[[str], None] | None = None,
291
294
  ):
292
295
  """
293
296
  Create the launcher.
294
297
 
295
298
  :param kube_client: kubernetes client
299
+ :param callbacks:
296
300
  :param progress_callback: Callback function invoked when fetching container log.
301
+ This parameter is deprecated, please use ````
297
302
  """
298
303
  super().__init__()
299
304
  self._client = kube_client
300
305
  self._progress_callback = progress_callback
301
306
  self._watch = watch.Watch()
307
+ self._callbacks = callbacks
302
308
 
303
309
  def run_pod_async(self, pod: V1Pod, **kwargs) -> V1Pod:
304
310
  """Run POD asynchronously."""
@@ -441,9 +447,13 @@ class PodManager(LoggingMixin):
441
447
  message_timestamp = line_timestamp
442
448
  progress_callback_lines.append(line)
443
449
  else: # previous log line is complete
444
- if self._progress_callback:
445
- for line in progress_callback_lines:
450
+ for line in progress_callback_lines:
451
+ if self._progress_callback:
446
452
  self._progress_callback(line)
453
+ if self._callbacks:
454
+ self._callbacks.progress_callback(
455
+ line=line, client=self._client, mode=ExecutionMode.SYNC
456
+ )
447
457
  self.log.info("[%s] %s", container_name, message_to_log)
448
458
  last_captured_timestamp = message_timestamp
449
459
  message_to_log = message
@@ -454,9 +464,13 @@ class PodManager(LoggingMixin):
454
464
  progress_callback_lines.append(line)
455
465
  finally:
456
466
  # log the last line and update the last_captured_timestamp
457
- if self._progress_callback:
458
- for line in progress_callback_lines:
467
+ for line in progress_callback_lines:
468
+ if self._progress_callback:
459
469
  self._progress_callback(line)
470
+ if self._callbacks:
471
+ self._callbacks.progress_callback(
472
+ line=line, client=self._client, mode=ExecutionMode.SYNC
473
+ )
460
474
  self.log.info("[%s] %s", container_name, message_to_log)
461
475
  last_captured_timestamp = message_timestamp
462
476
  except TimeoutError as e:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: apache-airflow-providers-cncf-kubernetes
3
- Version: 7.13.0
3
+ Version: 7.14.0rc1
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>
@@ -21,15 +21,15 @@ Classifier: Programming Language :: Python :: 3.10
21
21
  Classifier: Programming Language :: Python :: 3.11
22
22
  Classifier: Topic :: System :: Monitoring
23
23
  Requires-Dist: aiofiles>=23.2.0
24
- Requires-Dist: apache-airflow>=2.6.0
24
+ Requires-Dist: apache-airflow>=2.6.0.dev0
25
25
  Requires-Dist: asgiref>=3.5.2
26
26
  Requires-Dist: cryptography>=2.0.0
27
27
  Requires-Dist: google-re2>=1.0
28
28
  Requires-Dist: kubernetes>=21.7.0,<24
29
29
  Requires-Dist: kubernetes_asyncio>=18.20.1,<25
30
30
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
31
- Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/7.13.0/changelog.html
32
- Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/7.13.0
31
+ Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/7.14.0/changelog.html
32
+ Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/7.14.0
33
33
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
34
34
  Project-URL: Source Code, https://github.com/apache/airflow
35
35
  Project-URL: Twitter, https://twitter.com/ApacheAirflow
@@ -79,7 +79,7 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
79
79
 
80
80
  Package ``apache-airflow-providers-cncf-kubernetes``
81
81
 
82
- Release: ``7.13.0``
82
+ Release: ``7.14.0.rc1``
83
83
 
84
84
 
85
85
  `Kubernetes <https://kubernetes.io/>`__
@@ -92,7 +92,7 @@ This is a provider package for ``cncf.kubernetes`` provider. All classes for thi
92
92
  are in ``airflow.providers.cncf.kubernetes`` python package.
93
93
 
94
94
  You can find package information and changelog for the provider
95
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/7.13.0/>`_.
95
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/7.14.0/>`_.
96
96
 
97
97
  Installation
98
98
  ------------
@@ -119,4 +119,4 @@ PIP package Version required
119
119
  ====================== ==================
120
120
 
121
121
  The changelog for the provider package can be found in the
122
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/7.13.0/changelog.html>`_.
122
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/7.14.0/changelog.html>`_.
@@ -1,13 +1,14 @@
1
1
  airflow/providers/cncf/kubernetes/LICENSE,sha256=ywUBpKZc7Jb96rVt5I3IDbg7dIJAbUSHkuoDcF3jbH4,13569
2
- airflow/providers/cncf/kubernetes/__init__.py,sha256=gou8vJ_2dVzGonkv0g99QZj1N52MXT4Ia-oElxkSjZA,1591
3
- airflow/providers/cncf/kubernetes/get_provider_info.py,sha256=VhRDeLvTnuVNBoJDcuLj45UpTYyuug8FeirtZsdzk6U,16271
2
+ airflow/providers/cncf/kubernetes/__init__.py,sha256=bFZ6hyvfQvCXG1hqpkj5RshDz4W7u82wPWnfMwiQLAI,1591
3
+ airflow/providers/cncf/kubernetes/callbacks.py,sha256=D9stUmHxeKYOy8lRa-hSqXSbYcSvOJrTkZzNvmlAQWI,4101
4
+ airflow/providers/cncf/kubernetes/get_provider_info.py,sha256=XMbD1JT95OenfoMVGa0LE5ixm914PSEKv2W6eKj9f6s,16381
4
5
  airflow/providers/cncf/kubernetes/k8s_model.py,sha256=JzpSjHdCBpajT5HohKhvYp4vZ9emf7A6AVmte8tI4T0,2100
5
6
  airflow/providers/cncf/kubernetes/kube_client.py,sha256=nL9daGLElvX4f72rWvONRN-VUbrOPzjsElix6xfkcXU,5328
6
7
  airflow/providers/cncf/kubernetes/kube_config.py,sha256=SZhMYmCJACkzxEFe0vcCW0m1XmoFpmDaIYf_Rl_uycA,4851
7
8
  airflow/providers/cncf/kubernetes/kubernetes_helper_functions.py,sha256=3z6fkvgi6cczsxzoL4f3Lxi4YS3INuR2xeckWFWKgbI,4634
8
- airflow/providers/cncf/kubernetes/pod_generator.py,sha256=Hx8or59b1r4ASObWFT2rmxpKJ7GywlaBClrd5DxrBkU,24005
9
+ airflow/providers/cncf/kubernetes/pod_generator.py,sha256=TA65JQPp37gc_m5KKSwEPGv-b3jVzJ9Mtz1QdBdmE3Y,24265
9
10
  airflow/providers/cncf/kubernetes/pod_generator_deprecated.py,sha256=tOrFvE4MJxy94ecSLOxAGKjIeKztqOC81q_xXr17rRU,11993
10
- airflow/providers/cncf/kubernetes/pod_launcher_deprecated.py,sha256=3XQCOR4-KwVDV6tWVlsm7FksdT7Z9H54dZglPlSjNKQ,11944
11
+ airflow/providers/cncf/kubernetes/pod_launcher_deprecated.py,sha256=ugg-u-M8J0zBmnMwpSBN_zyYCZ37mFICrAQpGeIO52c,12001
11
12
  airflow/providers/cncf/kubernetes/python_kubernetes_script.jinja2,sha256=gUGBhBTFWIXjnjxTAjawWIacDwk2EDxoGEzVQYnlUT8,1741
12
13
  airflow/providers/cncf/kubernetes/python_kubernetes_script.py,sha256=yLIWsB1HvGlmU74G_QDXRwRJS02gH7RlgxecJtLxYug,3452
13
14
  airflow/providers/cncf/kubernetes/secret.py,sha256=U06v6pSp_9GAsokC_gu5JGN298Ud9DN9YwpQZqmQ9fI,5208
@@ -22,18 +23,23 @@ airflow/providers/cncf/kubernetes/executors/kubernetes_executor_types.py,sha256=
22
23
  airflow/providers/cncf/kubernetes/executors/kubernetes_executor_utils.py,sha256=7oHCtUQoTVVBwjVOEtwr2_yOBVGSWHB32MtW9I4WsOQ,21773
23
24
  airflow/providers/cncf/kubernetes/executors/local_kubernetes_executor.py,sha256=r5cvhj9NUTreQScn3Y8NlPFoYIa_NaAVQ27WqtOrJvw,10014
24
25
  airflow/providers/cncf/kubernetes/hooks/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
25
- airflow/providers/cncf/kubernetes/hooks/kubernetes.py,sha256=O5Xks9YdY5_CSLizLXo64r1CbT-aRyK5fYeYVZcdfRM,23998
26
+ airflow/providers/cncf/kubernetes/hooks/kubernetes.py,sha256=7P91Ffw2Gu0xWjBrOXTZWKVSxni5XuYK3GHfBYYszrA,24043
26
27
  airflow/providers/cncf/kubernetes/kubernetes_executor_templates/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
27
28
  airflow/providers/cncf/kubernetes/kubernetes_executor_templates/basic_template.yaml,sha256=yzJmXN4ZyB4aDwI_GIugpL9-f1YMVy__X-LQSbeU95A,2567
28
29
  airflow/providers/cncf/kubernetes/operators/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
30
+ airflow/providers/cncf/kubernetes/operators/custom_object_launcher.py,sha256=Zw9N4fTez5OXtOJaFmzUnvpU7GGkR6Ez4xNNUZdOARc,15348
29
31
  airflow/providers/cncf/kubernetes/operators/kubernetes_pod.py,sha256=XvJgehU-4ZubJZ2vsekHX4DlCLlzBttXuZQlpVZZ2Ro,1262
30
- airflow/providers/cncf/kubernetes/operators/pod.py,sha256=p1FThvIXY2DqZBBaw5QqkhbBiTtsUJ2ck9rge462aW8,43844
32
+ airflow/providers/cncf/kubernetes/operators/pod.py,sha256=cG_pzHoelgDOTp5bz_BH2EKummTHLnXlGh70jH5OFpQ,46680
31
33
  airflow/providers/cncf/kubernetes/operators/resource.py,sha256=t7JBj7Q-2f_y-vCdTMxrmjG8VYQj9k03u0rz1fbAFVQ,5457
32
- airflow/providers/cncf/kubernetes/operators/spark_kubernetes.py,sha256=FNCzSvutCkkrsYbt4E2Xhp-xSaVC0WcdsPJYdQFwUOI,7723
34
+ airflow/providers/cncf/kubernetes/operators/spark_kubernetes.py,sha256=dMaloDr6UHiwfDp86I5H-YudiuoLN_E4jMjagN6mMNI,11986
33
35
  airflow/providers/cncf/kubernetes/pod_template_file_examples/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
34
36
  airflow/providers/cncf/kubernetes/pod_template_file_examples/dags_in_image_template.yaml,sha256=7JdppZ-XDBpv2Bnde2SthhcME8w3b8xQdPAK1fJGW60,2256
35
37
  airflow/providers/cncf/kubernetes/pod_template_file_examples/dags_in_volume_template.yaml,sha256=-Pk_EwKpyWRYZKOnumUxVrDeAfFJ0nr3WZ7JNnvppzg,2442
36
38
  airflow/providers/cncf/kubernetes/pod_template_file_examples/git_sync_template.yaml,sha256=Pxpa1AiBlf4H8aIc7tUTmH2XNOz84cO0ttMQdlfMJ2c,3020
39
+ airflow/providers/cncf/kubernetes/resource_convert/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
40
+ airflow/providers/cncf/kubernetes/resource_convert/configmap.py,sha256=Ntt192qNiq240WfDEzEjQCx78snJ2suJ0bEvlxymZ44,1875
41
+ airflow/providers/cncf/kubernetes/resource_convert/env_variable.py,sha256=6sPZhh8QV00JkIhyvP3fbEdQmuCHCi12t1uXanEO_hg,1465
42
+ airflow/providers/cncf/kubernetes/resource_convert/secret.py,sha256=fs5MV5xKg8pxrkjuWPNMpxwK2dr3jpawJnq2uFvVY5k,1495
37
43
  airflow/providers/cncf/kubernetes/sensors/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
38
44
  airflow/providers/cncf/kubernetes/sensors/spark_kubernetes.py,sha256=AFml2CgXTV13G2VGrmNAIh-778FnRZdyLfverw92Uo0,5552
39
45
  airflow/providers/cncf/kubernetes/triggers/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
@@ -42,9 +48,9 @@ airflow/providers/cncf/kubernetes/triggers/pod.py,sha256=UJoNgcKYQZrlsxl1Q1Thg9A
42
48
  airflow/providers/cncf/kubernetes/utils/__init__.py,sha256=ClZN0VPjWySdVwS_ktH7rrgL9VLAcs3OSJSB9s3zaYw,863
43
49
  airflow/providers/cncf/kubernetes/utils/delete_from.py,sha256=poObZSoEJwQyaYWilEURs8f4CDY2sn_pfwS31Lf579A,5195
44
50
  airflow/providers/cncf/kubernetes/utils/k8s_resource_iterator.py,sha256=-Pgc5i2WEDl7ZBvtJZ4eWDqqlSj8WdULqwUyOWmsRp8,1928
45
- airflow/providers/cncf/kubernetes/utils/pod_manager.py,sha256=Grtq1QIzPyiilP30-GpNVPKSHhodgxPKno5UJjsW4x8,32278
51
+ airflow/providers/cncf/kubernetes/utils/pod_manager.py,sha256=VIvu9lfyZFYx0rTsTEDfdndU54oJLWuoVCn3TP3Jqjs,33068
46
52
  airflow/providers/cncf/kubernetes/utils/xcom_sidecar.py,sha256=dCLPE-KyI3nVfawcuKMjhxuBuK9TgVZocc4eC82hAM4,2518
47
- apache_airflow_providers_cncf_kubernetes-7.13.0.dist-info/entry_points.txt,sha256=ByD3QJJyP9CfmTYtpNI1953akD38RUDgpGXLaq9vpOw,111
48
- apache_airflow_providers_cncf_kubernetes-7.13.0.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
49
- apache_airflow_providers_cncf_kubernetes-7.13.0.dist-info/METADATA,sha256=CZ8cQEk5POcKcbATdy6V_xj0kUmWg3baluq5Ozgxyno,5181
50
- apache_airflow_providers_cncf_kubernetes-7.13.0.dist-info/RECORD,,
53
+ apache_airflow_providers_cncf_kubernetes-7.14.0rc1.dist-info/entry_points.txt,sha256=ByD3QJJyP9CfmTYtpNI1953akD38RUDgpGXLaq9vpOw,111
54
+ apache_airflow_providers_cncf_kubernetes-7.14.0rc1.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
55
+ apache_airflow_providers_cncf_kubernetes-7.14.0rc1.dist-info/METADATA,sha256=uI5_wmt_39mOhiOMAcCrXZ0Ox2JvHoyyPLdH7O5XseA,5193
56
+ apache_airflow_providers_cncf_kubernetes-7.14.0rc1.dist-info/RECORD,,