You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by gi...@apache.org on 2026/09/27 18:10:54 UTC

(airflow-site) branch publish updated: Docs updated via refs/heads/main:ede4d1f0eb275bef461cbe674d5e53872ecff8d3

This is an automated email from the ASF dual-hosted git repository.

github-actions[bot] pushed a commit to branch publish
in repository https://gitbox.apache.org/repos/asf/airflow-site.git


The following commit(s) were added to refs/heads/publish by this push:
     new 37d8cb6357 Docs updated via refs/heads/main:ede4d1f0eb275bef461cbe674d5e53872ecff8d3
37d8cb6357 is described below

commit 37d8cb635768e0b339372d2647e0d5eb17bc8810
Author: GitHub Actions <ac...@users.noreply.github.com>
AuthorDate: Sun Sep 27 18:10:47 2026 +0000

    Docs updated via refs/heads/main:ede4d1f0eb275bef461cbe674d5e53872ecff8d3
---
 announcements/index.html                           |     2 +-
 blocktype/index.html                               |     2 +-
 blocktype/testimonial/index.html                   |     2 +-
 blocktype/use-case/index.html                      |     2 +-
 blog/agentic-workloads-airflow-3/index.html        |     4 +-
 blog/ai-survey-analysis-pipelines/index.html       |     4 +-
 blog/airflow-1.10.10/index.html                    |     4 +-
 blog/airflow-1.10.12/index.html                    |     4 +-
 blog/airflow-1.10.8-1.10.9/index.html              |     4 +-
 blog/airflow-2.10.0/index.html                     |     4 +-
 blog/airflow-2.2.0/index.html                      |     4 +-
 blog/airflow-2.3.0/index.html                      |     4 +-
 blog/airflow-2.4.0/index.html                      |     4 +-
 blog/airflow-2.5.0/index.html                      |     4 +-
 blog/airflow-2.6.0/index.html                      |     4 +-
 blog/airflow-2.7.0/index.html                      |     4 +-
 blog/airflow-2.8.0/index.html                      |     4 +-
 blog/airflow-2.9.0/index.html                      |     4 +-
 blog/airflow-3.1.0/index.html                      |     4 +-
 blog/airflow-3.2.0/index.html                      |     4 +-
 blog/airflow-3.3.0/index.html                      |     4 +-
 blog/airflow-registry/index.html                   |     4 +-
 blog/airflow-survey-2020/index.html                |     4 +-
 blog/airflow-survey-2022/index.html                |     4 +-
 blog/airflow-survey-2023/index.html                |     4 +-
 blog/airflow-survey-2024/index.html                |     4 +-
 blog/airflow-survey-2025/index.html                |     4 +-
 blog/airflow-survey/index.html                     |     4 +-
 blog/airflow-three-point-oh-is-here/index.html     |     4 +-
 blog/airflow-two-point-oh-is-here/index.html       |     4 +-
 blog/airflow_summit_2021/index.html                |     4 +-
 blog/airflow_summit_2022/index.html                |     4 +-
 blog/airflowctl-0.1.0/index.html                   |     4 +-
 blog/announcing-new-website/index.html             |     4 +-
 blog/apache-airflow-for-newcomers/index.html       |     4 +-
 .../index.html                                     |     4 +-
 blog/common-ai-provider/index.html                 |     4 +-
 .../index.html                                     |     4 +-
 .../index.html                                     |     4 +-
 .../index.html                                     |     4 +-
 blog/fab-oid-vulnerability/index.html              |     4 +-
 .../index.html                                     |     4 +-
 blog/index.html                                    |     2 +-
 blog/index.xml                                     |    82 +-
 blog/introducing_setup_teardown/index.html         |     4 +-
 .../index.html                                     |     4 +-
 blog/tags/airflow-summit/index.html                |     2 +-
 blog/tags/airflow-summit/index.xml                 |     2 +-
 blog/tags/community/index.html                     |     2 +-
 blog/tags/community/index.xml                      |     2 +-
 blog/tags/development/index.html                   |     2 +-
 blog/tags/development/index.xml                    |     2 +-
 blog/tags/documentation/index.html                 |     2 +-
 blog/tags/documentation/index.xml                  |     2 +-
 blog/tags/release/index.html                       |     2 +-
 blog/tags/release/index.xml                        |     2 +-
 blog/tags/rest-api/index.html                      |     2 +-
 blog/tags/rest-api/index.xml                       |     2 +-
 blog/tags/survey/index.html                        |     2 +-
 blog/tags/survey/index.xml                         |     2 +-
 blog/tags/tutorial/index.html                      |     2 +-
 blog/tags/tutorial/index.xml                       |     2 +-
 blog/tags/users/index.html                         |     2 +-
 blog/tags/users/index.xml                          |     2 +-
 blog/tags/vulnerabilities/index.html               |     2 +-
 blog/tags/vulnerabilities/index.xml                |     2 +-
 code-of-conduct/index.html                         |     2 +-
 community/index.html                               |     2 +-
 community/resources/index.html                     |     4 +-
 docs/index.html                                    |     2 +-
 ecosystem/index.html                               |     2 +-
 index.html                                         |     2 +-
 .../clusterrole-rbac-v1.json                       |   462 +
 .../clusterrolebinding-rbac-v1.json                |   364 +
 .../v1.32.11-standalone-strict/configmap-v1.json   |   322 +
 .../cronjob-batch-v1.json                          | 11510 ++++++++++++++++
 .../deployment-apps-v1.json                        | 11084 +++++++++++++++
 .../ingress-networking-v1.json                     |   665 +
 .../v1.32.11-standalone-strict/job-batch-v1.json   | 11273 +++++++++++++++
 .../v1.32.11-standalone-strict/limitrange-v1.json  |   438 +
 .../networkpolicy-networking-v1.json               |   884 ++
 .../persistentvolumeclaim-v1.json                  |   717 +
 k8s-schemas/v1.32.11-standalone-strict/pod-v1.json | 12450 +++++++++++++++++
 .../priorityclass-scheduling-v1.json               |   320 +
 .../resourcequota-v1.json                          |   446 +
 .../v1.32.11-standalone-strict/role-rbac-v1.json   |   376 +
 .../rolebinding-rbac-v1.json                       |   364 +
 .../v1.32.11-standalone-strict/secret-v1.json      |   329 +
 .../v1.32.11-standalone-strict/service-v1.json     |   721 +
 .../serviceaccount-v1.json                         |   394 +
 .../statefulset-apps-v1.json                       | 11848 ++++++++++++++++
 .../clusterrole-rbac-v1.json                       |   462 +
 .../clusterrolebinding-rbac-v1.json                |   364 +
 .../v1.33.12-standalone-strict/configmap-v1.json   |   322 +
 .../cronjob-batch-v1.json                          | 11531 ++++++++++++++++
 .../deployment-apps-v1.json                        | 11113 +++++++++++++++
 .../ingress-networking-v1.json                     |   665 +
 .../v1.33.12-standalone-strict/job-batch-v1.json   | 11294 +++++++++++++++
 .../v1.33.12-standalone-strict/limitrange-v1.json  |   438 +
 .../networkpolicy-networking-v1.json               |   884 ++
 .../persistentvolumeclaim-v1.json                  |   717 +
 k8s-schemas/v1.33.12-standalone-strict/pod-v1.json | 12508 +++++++++++++++++
 .../priorityclass-scheduling-v1.json               |   320 +
 .../resourcequota-v1.json                          |   446 +
 .../v1.33.12-standalone-strict/role-rbac-v1.json   |   376 +
 .../rolebinding-rbac-v1.json                       |   364 +
 .../v1.33.12-standalone-strict/secret-v1.json      |   329 +
 .../v1.33.12-standalone-strict/service-v1.json     |   721 +
 .../serviceaccount-v1.json                         |   394 +
 .../statefulset-apps-v1.json                       | 11871 ++++++++++++++++
 .../clusterrole-rbac-v1.json                       |   462 +
 .../clusterrolebinding-rbac-v1.json                |   364 +
 .../v1.34.11-standalone-strict/configmap-v1.json   |   322 +
 .../cronjob-batch-v1.json                          | 11865 ++++++++++++++++
 .../deployment-apps-v1.json                        | 11447 ++++++++++++++++
 .../ingress-networking-v1.json                     |   665 +
 .../v1.34.11-standalone-strict/job-batch-v1.json   | 11628 ++++++++++++++++
 .../v1.34.11-standalone-strict/limitrange-v1.json  |   438 +
 .../networkpolicy-networking-v1.json               |   884 ++
 .../persistentvolumeclaim-v1.json                  |   717 +
 k8s-schemas/v1.34.11-standalone-strict/pod-v1.json | 12892 +++++++++++++++++
 .../priorityclass-scheduling-v1.json               |   320 +
 .../resourcequota-v1.json                          |   446 +
 .../v1.34.11-standalone-strict/role-rbac-v1.json   |   376 +
 .../rolebinding-rbac-v1.json                       |   364 +
 .../v1.34.11-standalone-strict/secret-v1.json      |   329 +
 .../v1.34.11-standalone-strict/service-v1.json     |   721 +
 .../serviceaccount-v1.json                         |   394 +
 .../statefulset-apps-v1.json                       | 12205 ++++++++++++++++
 .../clusterrole-rbac-v1.json                       |   462 +
 .../clusterrolebinding-rbac-v1.json                |   364 +
 .../v1.35.8-standalone-strict/configmap-v1.json    |   322 +
 .../clusterrole-rbac-v1.json                       |   462 +
 .../clusterrolebinding-rbac-v1.json                |   366 +
 .../v1.36.4-standalone-strict/configmap-v1.json    |   322 +
 .../cronjob-batch-v1.json                          | 11907 ++++++++++++++++
 .../deployment-apps-v1.json                        | 11484 ++++++++++++++++
 .../ingress-networking-v1.json                     |   665 +
 .../v1.36.4-standalone-strict/job-batch-v1.json    | 11667 ++++++++++++++++
 .../v1.36.4-standalone-strict/limitrange-v1.json   |   438 +
 .../networkpolicy-networking-v1.json               |   884 ++
 .../persistentvolumeclaim-v1.json                  |   717 +
 k8s-schemas/v1.36.4-standalone-strict/pod-v1.json  | 13205 ++++++++++++++++++
 .../priorityclass-scheduling-v1.json               |   317 +
 .../resourcequota-v1.json                          |   446 +
 .../v1.36.4-standalone-strict/role-rbac-v1.json    |   376 +
 .../rolebinding-rbac-v1.json                       |   366 +
 .../v1.36.4-standalone-strict/secret-v1.json       |   329 +
 .../v1.36.4-standalone-strict/service-v1.json      |   721 +
 .../serviceaccount-v1.json                         |   394 +
 .../statefulset-apps-v1.json                       | 12242 +++++++++++++++++
 .../clusterrole-rbac-v1.json                       |   462 +
 .../clusterrolebinding-rbac-v1.json                |   366 +
 .../v1.37.0-standalone-strict/configmap-v1.json    |   322 +
 .../cronjob-batch-v1.json                          | 12430 +++++++++++++++++
 .../deployment-apps-v1.json                        | 11848 ++++++++++++++++
 .../ingress-networking-v1.json                     |   665 +
 .../v1.37.0-standalone-strict/job-batch-v1.json    | 12190 ++++++++++++++++
 .../v1.37.0-standalone-strict/limitrange-v1.json   |   438 +
 .../networkpolicy-networking-v1.json               |   884 ++
 .../persistentvolumeclaim-v1.json                  |   778 ++
 k8s-schemas/v1.37.0-standalone-strict/pod-v1.json  | 13736 +++++++++++++++++++
 .../priorityclass-scheduling-v1.json               |   317 +
 .../resourcequota-v1.json                          |   446 +
 .../v1.37.0-standalone-strict/role-rbac-v1.json    |   376 +
 .../rolebinding-rbac-v1.json                       |   366 +
 .../v1.37.0-standalone-strict/secret-v1.json       |   329 +
 .../v1.37.0-standalone-strict/service-v1.json      |   721 +
 .../serviceaccount-v1.json                         |   394 +
 .../statefulset-apps-v1.json                       | 12667 +++++++++++++++++
 meetups/index.html                                 |     2 +-
 privacy-notice/index.html                          |     2 +-
 roadmap/index.html                                 |     2 +-
 search/index.html                                  |     4 +-
 sitemap.xml                                        |   168 +-
 survey/index.html                                  |     2 +-
 tags/index.html                                    |     2 +-
 tags/index.xml                                     |     2 +-
 use-cases/adjoe/index.html                         |     4 +-
 use-cases/adobe/index.html                         |     4 +-
 use-cases/adyen/index.html                         |     4 +-
 use-cases/big-fish-games/index.html                |     4 +-
 use-cases/business_operations/index.html           |     4 +-
 use-cases/dish/index.html                          |     4 +-
 use-cases/etl_analytics/index.html                 |     4 +-
 use-cases/experity/index.html                      |     4 +-
 use-cases/index.html                               |     2 +-
 use-cases/infrastructure-management/index.html     |     4 +-
 use-cases/mlops/index.html                         |     4 +-
 use-cases/onefootball/index.html                   |     4 +-
 use-cases/plarium-krasnodar/index.html             |     4 +-
 use-cases/seniorlink/index.html                    |     4 +-
 use-cases/sift/index.html                          |     4 +-
 use-cases/snapp/index.html                         |     4 +-
 use-cases/suse/index.html                          |     4 +-
 195 files changed, 335394 insertions(+), 278 deletions(-)

diff --git a/announcements/index.html b/announcements/index.html
index fcb6f6f784..e2706b0e07 100644
--- a/announcements/index.html
+++ b/announcements/index.html
@@ -45,7 +45,7 @@ August 12, 2026 We’ve just released Apache Airflow 3.3.1 🎉
 July 06, 2026 We’ve just released Apache Airflow 3.3.0 🎉
 📦 PyPI: https://pypi.org/project/apache-airflow/3.3.0/ 📚 Docs: https://airflow.apache.org/docs/apache-airflow/3.3.0/ 🛠 Release Notes: https://airflow.apache.org/docs/apache-airflow/3.3.0/release_notes.html 🐳 Docker Image: “docker pull apache/airflow:3.3.0” 🚏 Constraints: https://github.com/apache/airflow/tree/constraints-3.3.0">
   <meta itemprop="datePublished" content="2020-08-08T05:30:20+05:30">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="6238">
   <meta itemprop="image" content="/images/feature-image.png">
 
diff --git a/blocktype/index.html b/blocktype/index.html
index d125c46ef4..44b14f3528 100644
--- a/blocktype/index.html
+++ b/blocktype/index.html
@@ -34,7 +34,7 @@
 
   <meta itemprop="name" content="Blocktype">
   <meta itemprop="description" content="Platform created by the community to programmatically author, schedule and monitor workflows.">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="image" content="/images/feature-image.png">
 
 
diff --git a/blocktype/testimonial/index.html b/blocktype/testimonial/index.html
index 58c4af66cf..92f828e484 100644
--- a/blocktype/testimonial/index.html
+++ b/blocktype/testimonial/index.html
@@ -34,7 +34,7 @@
 
   <meta itemprop="name" content="Testimonial">
   <meta itemprop="description" content="Platform created by the community to programmatically author, schedule and monitor workflows.">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="image" content="/images/feature-image.png">
 
 
diff --git a/blocktype/use-case/index.html b/blocktype/use-case/index.html
index e8e7fe8888..2ad78424ca 100644
--- a/blocktype/use-case/index.html
+++ b/blocktype/use-case/index.html
@@ -34,7 +34,7 @@
 
   <meta itemprop="name" content="Use-Case">
   <meta itemprop="description" content="Platform created by the community to programmatically author, schedule and monitor workflows.">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="image" content="/images/feature-image.png">
 
 
diff --git a/blog/agentic-workloads-airflow-3/index.html b/blog/agentic-workloads-airflow-3/index.html
index de1e23ebba..ffcd4124ad 100644
--- a/blog/agentic-workloads-airflow-3/index.html
+++ b/blog/agentic-workloads-airflow-3/index.html
@@ -31,7 +31,7 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2026-04-15T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Community">
     <meta property="article:tag" content="Tutorial">
     <meta property="og:image" content="/blog/agentic-workloads-airflow-3/images/agentic-approval-dialog.png">
@@ -39,7 +39,7 @@
   <meta itemprop="name" content="Agentic Workloads on Airflow: Observable, Retryable, and Auditable by Design">
   <meta itemprop="description" content="How Dynamic Task Mapping and the common.ai provider turn a multi-dimensional research question into a fan-out/fan-in pipeline where every LLM call is a named, logged, independently retryable task, not a hidden step inside a reasoning loop.">
   <meta itemprop="datePublished" content="2026-04-15T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="2691">
   <meta itemprop="image" content="/blog/agentic-workloads-airflow-3/images/agentic-approval-dialog.png">
   <meta itemprop="keywords" content="Community,Tutorial">
diff --git a/blog/ai-survey-analysis-pipelines/index.html b/blog/ai-survey-analysis-pipelines/index.html
index 6326e4ee60..737a6c7664 100644
--- a/blog/ai-survey-analysis-pipelines/index.html
+++ b/blog/ai-survey-analysis-pipelines/index.html
@@ -31,7 +31,7 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2026-04-15T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Community">
     <meta property="article:tag" content="Tutorial">
     <meta property="og:image" content="/images/feature-image.png">
@@ -39,7 +39,7 @@
   <meta itemprop="name" content="Ask Your Survey Anything: Building AI Analysis Pipelines with Airflow 3">
   <meta itemprop="description" content="A walkthrough of two natural language analysis pipelines over the 2025 Airflow Community Survey, covering an interactive human-in-the-loop version and a fully automated scheduled version, using operators from the common.ai and common.sql providers.">
   <meta itemprop="datePublished" content="2026-04-15T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="1636">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Community,Tutorial">
diff --git a/blog/airflow-1.10.10/index.html b/blog/airflow-1.10.10/index.html
index b68e47bb16..43a4ef5980 100644
--- a/blog/airflow-1.10.10/index.html
+++ b/blog/airflow-1.10.10/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2020-04-09T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Release">
     <meta property="og:image" content="/images/feature-image.png">
 
   <meta itemprop="name" content="Apache Airflow 1.10.10">
   <meta itemprop="description" content="We are happy to present Apache Airflow 1.10.10">
   <meta itemprop="datePublished" content="2020-04-09T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="1142">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Release">
diff --git a/blog/airflow-1.10.12/index.html b/blog/airflow-1.10.12/index.html
index 9970cefc67..1d91d3c7c4 100644
--- a/blog/airflow-1.10.12/index.html
+++ b/blog/airflow-1.10.12/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2020-08-25T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Release">
     <meta property="og:image" content="/images/feature-image.png">
 
   <meta itemprop="name" content="Apache Airflow 1.10.12">
   <meta itemprop="description" content="We are happy to present Apache Airflow 1.10.12">
   <meta itemprop="datePublished" content="2020-08-25T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="910">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Release">
diff --git a/blog/airflow-1.10.8-1.10.9/index.html b/blog/airflow-1.10.8-1.10.9/index.html
index c037f57a50..940e16a488 100644
--- a/blog/airflow-1.10.8-1.10.9/index.html
+++ b/blog/airflow-1.10.8-1.10.9/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2020-02-23T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Release">
     <meta property="og:image" content="/images/feature-image.png">
 
   <meta itemprop="name" content="Apache Airflow 1.10.8 & 1.10.9">
   <meta itemprop="description" content="We are happy to present the new 1.10.8 and 1.10.9 releases of Apache Airflow.">
   <meta itemprop="datePublished" content="2020-02-23T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="437">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Release">
diff --git a/blog/airflow-2.10.0/index.html b/blog/airflow-2.10.0/index.html
index 4927b270ee..489fcfedc7 100644
--- a/blog/airflow-2.10.0/index.html
+++ b/blog/airflow-2.10.0/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2024-08-08T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Release">
     <meta property="og:image" content="/images/feature-image.png">
 
   <meta itemprop="name" content="Apache Airflow 2.10.0 is here">
   <meta itemprop="description" content="Apache Airflow 2.10.0 is a game-changer, with powerful Dataset improvements and the groundbreaking Hybrid Executor, set to redefine your workflow capabilities!">
   <meta itemprop="datePublished" content="2024-08-08T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="1040">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Release">
diff --git a/blog/airflow-2.2.0/index.html b/blog/airflow-2.2.0/index.html
index 7946c0cc7c..bcf8135bf4 100644
--- a/blog/airflow-2.2.0/index.html
+++ b/blog/airflow-2.2.0/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2021-10-11T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Release">
     <meta property="og:image" content="/images/feature-image.png">
 
   <meta itemprop="name" content="What&#39;s new in Apache Airflow 2.2.0">
   <meta itemprop="description" content="We&#39;re proud to announce that Apache Airflow 2.2.0 has been released.">
   <meta itemprop="datePublished" content="2021-10-11T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="658">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Release">
diff --git a/blog/airflow-2.3.0/index.html b/blog/airflow-2.3.0/index.html
index fdae42b2fb..8606bb85f4 100644
--- a/blog/airflow-2.3.0/index.html
+++ b/blog/airflow-2.3.0/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2022-04-30T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Release">
     <meta property="og:image" content="/images/feature-image.png">
 
   <meta itemprop="name" content="Apache Airflow 2.3.0 is here">
   <meta itemprop="description" content="We&#39;re proud to announce that Apache Airflow 2.3.0 has been released.">
   <meta itemprop="datePublished" content="2022-04-30T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="708">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Release">
diff --git a/blog/airflow-2.4.0/index.html b/blog/airflow-2.4.0/index.html
index aa8fbf0d12..6b3a86d766 100644
--- a/blog/airflow-2.4.0/index.html
+++ b/blog/airflow-2.4.0/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2022-09-19T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Release">
     <meta property="og:image" content="/images/feature-image.png">
 
   <meta itemprop="name" content="Apache Airflow 2.4.0: That Data Aware Release">
   <meta itemprop="description" content="We&#39;re proud to announce that Apache Airflow 2.4.0 has been released with many exciting improvements.">
   <meta itemprop="datePublished" content="2022-09-19T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="849">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Release">
diff --git a/blog/airflow-2.5.0/index.html b/blog/airflow-2.5.0/index.html
index 7d3a1a09bf..dd5df96aec 100644
--- a/blog/airflow-2.5.0/index.html
+++ b/blog/airflow-2.5.0/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2022-12-02T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Release">
     <meta property="og:image" content="/images/feature-image.png">
 
   <meta itemprop="name" content="Apache Airflow 2.5.0: Tick-Tock">
   <meta itemprop="description" content="We&#39;re proud to announce that Apache Airflow 2.5.0 has been released with many quality of life changes.">
   <meta itemprop="datePublished" content="2022-12-02T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="391">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Release">
diff --git a/blog/airflow-2.6.0/index.html b/blog/airflow-2.6.0/index.html
index 24561b1d07..8aecd4aa8c 100644
--- a/blog/airflow-2.6.0/index.html
+++ b/blog/airflow-2.6.0/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2023-04-30T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Release">
     <meta property="og:image" content="/images/feature-image.png">
 
   <meta itemprop="name" content="what&#39;s new in Apache Airflow 2.6.0">
   <meta itemprop="description" content="Apache Airflow 2.6.0 has been released!">
   <meta itemprop="datePublished" content="2023-04-30T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="535">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Release">
diff --git a/blog/airflow-2.7.0/index.html b/blog/airflow-2.7.0/index.html
index 08e0df7a7e..33e6da9b6a 100644
--- a/blog/airflow-2.7.0/index.html
+++ b/blog/airflow-2.7.0/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2023-08-18T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Release">
     <meta property="og:image" content="/images/feature-image.png">
 
   <meta itemprop="name" content="Apache Airflow 2.7.0 is here">
   <meta itemprop="description" content="Apache Airflow 2.7.0 has been released!">
   <meta itemprop="datePublished" content="2023-08-18T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="816">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Release">
diff --git a/blog/airflow-2.8.0/index.html b/blog/airflow-2.8.0/index.html
index 9e257c70fe..9f6b7d010f 100644
--- a/blog/airflow-2.8.0/index.html
+++ b/blog/airflow-2.8.0/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2023-12-15T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Release">
     <meta property="og:image" content="/images/feature-image.png">
 
   <meta itemprop="name" content="Apache Airflow 2.8.0 is here">
   <meta itemprop="description" content="Introducing Apache Airflow 2.8.0: Enhanced with New Features and Significant Improvements">
   <meta itemprop="datePublished" content="2023-12-15T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="730">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Release">
diff --git a/blog/airflow-2.9.0/index.html b/blog/airflow-2.9.0/index.html
index 4e19bee83f..0ee91757a1 100644
--- a/blog/airflow-2.9.0/index.html
+++ b/blog/airflow-2.9.0/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2024-04-08T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Release">
     <meta property="og:image" content="/images/feature-image.png">
 
   <meta itemprop="name" content="Apache Airflow 2.9.0: Dataset and UI Improvements">
   <meta itemprop="description" content="Apache Airflow 2.9.0 is here! Lots of exciting new Dataset and UI features/improvements this time around.">
   <meta itemprop="datePublished" content="2024-04-08T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="1041">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Release">
diff --git a/blog/airflow-3.1.0/index.html b/blog/airflow-3.1.0/index.html
index 7fa8a5b36c..98fe51bd7b 100644
--- a/blog/airflow-3.1.0/index.html
+++ b/blog/airflow-3.1.0/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2025-09-25T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Release">
     <meta property="og:image" content="/blog/airflow-3.1.0/images/3.1.0.jpg">
 
   <meta itemprop="name" content="Apache Airflow 3.1.0: Human-Centered Workflows">
   <meta itemprop="description" content="Apache Airflow 3.1.0 introduces Human-in-the-Loop workflows, 17-language internationalization, deadline alerts, and React plugin system for data orchestration teams.">
   <meta itemprop="datePublished" content="2025-09-25T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="1583">
   <meta itemprop="image" content="/blog/airflow-3.1.0/images/3.1.0.jpg">
   <meta itemprop="keywords" content="Release">
diff --git a/blog/airflow-3.2.0/index.html b/blog/airflow-3.2.0/index.html
index 6f4649fc56..2f2fabb991 100644
--- a/blog/airflow-3.2.0/index.html
+++ b/blog/airflow-3.2.0/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2026-04-07T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Release">
     <meta property="og:image" content="/blog/airflow-3.2.0/images/3.2.0.jpg">
 
   <meta itemprop="name" content="Apache Airflow 3.2.0: Data-Aware Workflows at Scale">
   <meta itemprop="description" content="Apache Airflow 3.2.0 introduces Asset partitioning for granular pipeline orchestration, multi-team deployments for enterprise scale, synchronous deadline alert callbacks, and continued progress toward full Task SDK separation.">
   <meta itemprop="datePublished" content="2026-04-07T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="1619">
   <meta itemprop="image" content="/blog/airflow-3.2.0/images/3.2.0.jpg">
   <meta itemprop="keywords" content="Release">
diff --git a/blog/airflow-3.3.0/index.html b/blog/airflow-3.3.0/index.html
index 97dade0ec4..279efc89f2 100644
--- a/blog/airflow-3.3.0/index.html
+++ b/blog/airflow-3.3.0/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2026-07-06T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Release">
     <meta property="og:image" content="/blog/airflow-3.3.0/images/3.3.0.jpg">
 
   <meta itemprop="name" content="Apache Airflow 3.3.0: Stateful Tasks and Multi-Language Support">
   <meta itemprop="description" content="Apache Airflow 3.3.0 introduces a first-class state store for tasks and assets (AIP-103), a Language Task SDK for writing tasks in Java and Go (AIP-108), a major expansion of asset partitioning, and pluggable retry policies.">
   <meta itemprop="datePublished" content="2026-07-06T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="2142">
   <meta itemprop="image" content="/blog/airflow-3.3.0/images/3.3.0.jpg">
   <meta itemprop="keywords" content="Release">
diff --git a/blog/airflow-registry/index.html b/blog/airflow-registry/index.html
index 9be04d5818..cb3a9fbc08 100644
--- a/blog/airflow-registry/index.html
+++ b/blog/airflow-registry/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2026-03-19T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Community">
     <meta property="og:image" content="/images/feature-image.png">
 
   <meta itemprop="name" content="Introducing the Apache Airflow Registry">
   <meta itemprop="description" content="The Apache Airflow Registry is a searchable catalog of 98 providers and 1,600&#43; modules — operators, hooks, sensors, triggers, and more — now live on airflow.apache.org.">
   <meta itemprop="datePublished" content="2026-03-19T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="520">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Community">
diff --git a/blog/airflow-survey-2020/index.html b/blog/airflow-survey-2020/index.html
index bc83539417..1b2a935846 100644
--- a/blog/airflow-survey-2020/index.html
+++ b/blog/airflow-survey-2020/index.html
@@ -31,7 +31,7 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2021-03-09T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Community">
     <meta property="article:tag" content="Survey">
     <meta property="article:tag" content="Users">
@@ -40,7 +40,7 @@
   <meta itemprop="name" content="Airflow Survey 2020">
   <meta itemprop="description" content="We observe steady growth in number of users as well as in an amount of active contributors. So listening and understanding our community is of high importance.">
   <meta itemprop="datePublished" content="2021-03-09T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="2136">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Community,Survey,Users">
diff --git a/blog/airflow-survey-2022/index.html b/blog/airflow-survey-2022/index.html
index 474f49e3ce..0a23901f31 100644
--- a/blog/airflow-survey-2022/index.html
+++ b/blog/airflow-survey-2022/index.html
@@ -31,7 +31,7 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2022-06-17T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Community">
     <meta property="article:tag" content="Survey">
     <meta property="article:tag" content="Users">
@@ -40,7 +40,7 @@
   <meta itemprop="name" content="Airflow Survey 2022">
   <meta itemprop="description" content="2021 saw rapid adoption of Airflow 2, and continued growth of the community. This annual survey helps us understand how people are using Airflow, and where we can best focus our efforts going forward.">
   <meta itemprop="datePublished" content="2022-06-17T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="3866">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Community,Survey,Users">
diff --git a/blog/airflow-survey-2023/index.html b/blog/airflow-survey-2023/index.html
index ccdc3004dd..c0d9759ab9 100644
--- a/blog/airflow-survey-2023/index.html
+++ b/blog/airflow-survey-2023/index.html
@@ -31,7 +31,7 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2023-09-21T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Community">
     <meta property="article:tag" content="Survey">
     <meta property="article:tag" content="Users">
@@ -40,7 +40,7 @@
   <meta itemprop="name" content="Airflow Survey 2023">
   <meta itemprop="description" content="Airflow 2 has seen rapid adoption, accompanied by continuous community growth. This annual survey helps us understand how people use Airflow and where we can best focus our efforts as we advance.">
   <meta itemprop="datePublished" content="2023-09-21T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="3">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Community,Survey,Users">
diff --git a/blog/airflow-survey-2024/index.html b/blog/airflow-survey-2024/index.html
index 816c974401..b6c59b9424 100644
--- a/blog/airflow-survey-2024/index.html
+++ b/blog/airflow-survey-2024/index.html
@@ -31,7 +31,7 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2025-02-27T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Community">
     <meta property="article:tag" content="Survey">
     <meta property="article:tag" content="Users">
@@ -40,7 +40,7 @@
   <meta itemprop="name" content="Airflow Survey 2024">
   <meta itemprop="description" content="With more than 5,250 responses from 116 countries, this is the largest data engineering survey to date. Conducted annually, it offers valuable insights into Airflow usage and helps guide our future efforts.">
   <meta itemprop="datePublished" content="2025-02-27T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="45">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Community,Survey,Users">
diff --git a/blog/airflow-survey-2025/index.html b/blog/airflow-survey-2025/index.html
index c70c8b4893..6aa6ef823a 100644
--- a/blog/airflow-survey-2025/index.html
+++ b/blog/airflow-survey-2025/index.html
@@ -31,7 +31,7 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2026-01-22T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Community">
     <meta property="article:tag" content="Survey">
     <meta property="article:tag" content="Users">
@@ -40,7 +40,7 @@
   <meta itemprop="name" content="Airflow Survey 2025">
   <meta itemprop="description" content="With more than 5,818 responses from 122 countries, this is the largest data engineering survey to date. Conducted annually, the Apache Airflow Survey offers valuable insights into Airflow usage and helps guide our future efforts.">
   <meta itemprop="datePublished" content="2026-01-22T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="45">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Community,Survey,Users">
diff --git a/blog/airflow-survey/index.html b/blog/airflow-survey/index.html
index cb4e26361c..21e61c1571 100644
--- a/blog/airflow-survey/index.html
+++ b/blog/airflow-survey/index.html
@@ -31,7 +31,7 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2019-12-11T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Community">
     <meta property="article:tag" content="Survey">
     <meta property="article:tag" content="Users">
@@ -40,7 +40,7 @@
   <meta itemprop="name" content="Airflow Survey 2019">
   <meta itemprop="description" content="Receiving and adjusting to our users’ feedback is a must. Let’s see who Airflow users are, how they play with it, and what they miss.">
   <meta itemprop="datePublished" content="2019-12-11T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="1723">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Community,Survey,Users">
diff --git a/blog/airflow-three-point-oh-is-here/index.html b/blog/airflow-three-point-oh-is-here/index.html
index e249c0bb9f..3a5ac9ee09 100644
--- a/blog/airflow-three-point-oh-is-here/index.html
+++ b/blog/airflow-three-point-oh-is-here/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2025-04-22T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Release">
     <meta property="og:image" content="/images/feature-image.png">
 
   <meta itemprop="name" content="Apache Airflow® 3 is Generally Available!">
   <meta itemprop="description" content="We&#39;re proud to announce that Apache Airflow 3.0.0 has been released.">
   <meta itemprop="datePublished" content="2025-04-22T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="2194">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Release">
diff --git a/blog/airflow-two-point-oh-is-here/index.html b/blog/airflow-two-point-oh-is-here/index.html
index 299bd2a1fa..791812e117 100644
--- a/blog/airflow-two-point-oh-is-here/index.html
+++ b/blog/airflow-two-point-oh-is-here/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2020-12-17T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Release">
     <meta property="og:image" content="/images/feature-image.png">
 
   <meta itemprop="name" content="Apache Airflow 2.0 is here!">
   <meta itemprop="description" content="We&#39;re proud to announce that Apache Airflow 2.0.0 has been released.">
   <meta itemprop="datePublished" content="2020-12-17T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="1165">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Release">
diff --git a/blog/airflow_summit_2021/index.html b/blog/airflow_summit_2021/index.html
index 1be8dd604a..35d48c2713 100644
--- a/blog/airflow_summit_2021/index.html
+++ b/blog/airflow_summit_2021/index.html
@@ -31,7 +31,7 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2021-03-21T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Community">
     <meta property="article:tag" content="Airflow Summit">
     <meta property="og:image" content="/images/feature-image.png">
@@ -39,7 +39,7 @@
   <meta itemprop="name" content="Airflow Summit 2021">
   <meta itemprop="description" content="We are thrilled about Airflow Summit 2021!">
   <meta itemprop="datePublished" content="2021-03-21T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="77">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Community,Airflow Summit">
diff --git a/blog/airflow_summit_2022/index.html b/blog/airflow_summit_2022/index.html
index 7070b0707d..674824b443 100644
--- a/blog/airflow_summit_2022/index.html
+++ b/blog/airflow_summit_2022/index.html
@@ -31,7 +31,7 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2022-05-16T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Community">
     <meta property="article:tag" content="Airflow Summit">
     <meta property="og:image" content="/images/feature-image.png">
@@ -39,7 +39,7 @@
   <meta itemprop="name" content="Airflow Summit 2022">
   <meta itemprop="description" content="Airflow Summit 2022 is here">
   <meta itemprop="datePublished" content="2022-05-16T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="129">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Community,Airflow Summit">
diff --git a/blog/airflowctl-0.1.0/index.html b/blog/airflowctl-0.1.0/index.html
index ed723a6896..91e4bd162d 100644
--- a/blog/airflowctl-0.1.0/index.html
+++ b/blog/airflowctl-0.1.0/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2025-10-15T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Release">
     <meta property="og:image" content="/images/blog/airflowctl-0.1.0/airflowctl-cover.png">
 
   <meta itemprop="name" content="Apache Airflow CTL aka airflowctl 0.1.0">
   <meta itemprop="description" content="A new way of using API in Airflow. Apache Airflow CTL aka airflowctl 0.1.0 is released! Secure way to manage your Apache Airflow deployments with ease.">
   <meta itemprop="datePublished" content="2025-10-15T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="898">
   <meta itemprop="image" content="/images/blog/airflowctl-0.1.0/airflowctl-cover.png">
   <meta itemprop="keywords" content="Release">
diff --git a/blog/announcing-new-website/index.html b/blog/announcing-new-website/index.html
index 230876be21..208be3d404 100644
--- a/blog/announcing-new-website/index.html
+++ b/blog/announcing-new-website/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2019-12-11T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Community">
     <meta property="og:image" content="/images/feature-image.png">
 
   <meta itemprop="name" content="New Airflow website">
   <meta itemprop="description" content="We are thrilled about our new website!">
   <meta itemprop="datePublished" content="2019-12-11T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="282">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Community">
diff --git a/blog/apache-airflow-for-newcomers/index.html b/blog/apache-airflow-for-newcomers/index.html
index e1f7f10883..69d4ccfa89 100644
--- a/blog/apache-airflow-for-newcomers/index.html
+++ b/blog/apache-airflow-for-newcomers/index.html
@@ -32,7 +32,7 @@ Authoring Workflow in Apache Airflow. Airflow makes it easy to author workflows
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2020-08-17T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Community">
     <meta property="og:image" content="/images/feature-image.png">
 
@@ -40,7 +40,7 @@ Authoring Workflow in Apache Airflow. Airflow makes it easy to author workflows
   <meta itemprop="description" content="Apache Airflow is a platform to programmatically author, schedule, and monitor workflows. A workflow is a sequence of tasks that processes a set of data. You can think of workflow as the path that describes how tasks go from being undone to done. Scheduling, on the other hand, is the process of planning, controlling, and optimizing when a particular task should be done.
 Authoring Workflow in Apache Airflow. Airflow makes it easy to author workflows using python scripts. A Directed Acyclic Graph (DAG) represents a workflow in Airflow. It is a collection of tasks in a way that shows each task’s relationships and dependencies. You can have as many DAGs as you want, and Airflow will execute them according to the task’s relationships and dependencies. If task B depends on the successful execution of another task A, it means Airflow will run task A and only r [...]
   <meta itemprop="datePublished" content="2020-08-17T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="1070">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Community">
diff --git a/blog/apache-con-europe-2019-thoughts-and-insights-by-airflow-committers/index.html b/blog/apache-con-europe-2019-thoughts-and-insights-by-airflow-committers/index.html
index a68be0e914..42b8c68349 100644
--- a/blog/apache-con-europe-2019-thoughts-and-insights-by-airflow-committers/index.html
+++ b/blog/apache-con-europe-2019-thoughts-and-insights-by-airflow-committers/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2019-11-22T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Community">
     <meta property="og:image" content="/images/feature-image.png">
 
   <meta itemprop="name" content="ApacheCon Europe 2019 — Thoughts and Insights by Airflow Committers">
   <meta itemprop="description" content="Here come some thoughts by Airflow committers and contributors from the ApacheCon Europe 2019. Get to know the ASF community!">
   <meta itemprop="datePublished" content="2019-11-22T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="138">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Community">
diff --git a/blog/common-ai-provider/index.html b/blog/common-ai-provider/index.html
index 4d91d6ab58..3677115281 100644
--- a/blog/common-ai-provider/index.html
+++ b/blog/common-ai-provider/index.html
@@ -31,7 +31,7 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2026-04-14T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Community">
     <meta property="article:tag" content="Release">
     <meta property="og:image" content="/blog/common-ai-provider/images/common-ai-provider.png">
@@ -39,7 +39,7 @@
   <meta itemprop="name" content="Introducing the Common AI Provider: LLM and AI Agent Support for Apache Airflow">
   <meta itemprop="description" content="The Common AI Provider adds LLM and AI agent operators to Apache Airflow with 6 operators, 5 toolsets, and 20&#43; model providers in one package.">
   <meta itemprop="datePublished" content="2026-04-14T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="1477">
   <meta itemprop="image" content="/blog/common-ai-provider/images/common-ai-provider.png">
   <meta itemprop="keywords" content="Community,Release">
diff --git a/blog/documenting-using-local-development-environments/index.html b/blog/documenting-using-local-development-environments/index.html
index b545d671b7..950ca75996 100644
--- a/blog/documenting-using-local-development-environments/index.html
+++ b/blog/documenting-using-local-development-environments/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2019-11-22T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Development">
     <meta property="og:image" content="/images/feature-image.png">
 
   <meta itemprop="name" content="Documenting using local development environment">
   <meta itemprop="description" content="The story behind documenting local development environment of Apache Airflow">
   <meta itemprop="datePublished" content="2019-11-22T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="256">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Development">
diff --git a/blog/experience-in-google-season-of-docs-2019-with-apache-airflow/index.html b/blog/experience-in-google-season-of-docs-2019-with-apache-airflow/index.html
index 95208a5bce..0fb550f8c8 100644
--- a/blog/experience-in-google-season-of-docs-2019-with-apache-airflow/index.html
+++ b/blog/experience-in-google-season-of-docs-2019-with-apache-airflow/index.html
@@ -32,7 +32,7 @@ About Me I have been writing tech articles on medium as well as my blog for the
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2019-12-20T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Documentation">
     <meta property="og:image" content="/images/feature-image.png">
 
@@ -40,7 +40,7 @@ About Me I have been writing tech articles on medium as well as my blog for the
   <meta itemprop="description" content="I came across Google Season of Docs (GSoD) almost by accident, thanks to my extensive HackerNews and Twitter addiction. I was familiar with the Google Summer of Code but not with this program. It turns out it was the inaugural phase. I read the details, and the process felt a lot like GSoC except that this was about documentation.
 About Me I have been writing tech articles on medium as well as my blog for the past 1.5 years. Blogging helps me test my understanding of the concepts as untangling the toughest of ideas in simple sentences requires a considerable time investment.">
   <meta itemprop="datePublished" content="2019-12-20T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="1521">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Documentation">
diff --git a/blog/experience-with-airflow-as-an-outreachy-intern/index.html b/blog/experience-with-airflow-as-an-outreachy-intern/index.html
index eadbf02f34..0ded51ecfd 100644
--- a/blog/experience-with-airflow-as-an-outreachy-intern/index.html
+++ b/blog/experience-with-airflow-as-an-outreachy-intern/index.html
@@ -32,7 +32,7 @@ Contribution Period The first thing I had to do was choose a project under an or
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2020-08-30T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Community">
     <meta property="og:image" content="/images/feature-image.png">
 
@@ -40,7 +40,7 @@ Contribution Period The first thing I had to do was choose a project under an or
   <meta itemprop="description" content="Outreachy is a program which organises three months paid internships with FOSS projects for people who are typically underrepresented in those projects.
 Contribution Period The first thing I had to do was choose a project under an organisation. After going through all the projects I chose “Extending the REST API of Apache Airflow”, because I had a good idea of what REST API(s) are, so I thought it would be easier to get started with the contributions. The next step was to set up Airflow’s dev environment which thanks to Breeze, was a breeze. Since I had never contributed to FOSS before so this part was overwhelming but there were plenty  [...]
   <meta itemprop="datePublished" content="2020-08-30T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="528">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Community">
diff --git a/blog/fab-oid-vulnerability/index.html b/blog/fab-oid-vulnerability/index.html
index 123418e175..03f64f3c5d 100644
--- a/blog/fab-oid-vulnerability/index.html
+++ b/blog/fab-oid-vulnerability/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2024-02-26T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Vulnerabilities">
     <meta property="og:image" content="/images/feature-image.png">
 
   <meta itemprop="name" content="Vulnerability in long deprecated OpenID authentication method in Flask AppBuilder">
   <meta itemprop="description" content="Advising users who still use a long-deprecated OpenID authentication method in Flask AppBuilder to upgrade to Apache Airflow 2.8.2">
   <meta itemprop="datePublished" content="2024-02-26T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="638">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Vulnerabilities">
diff --git a/blog/implementing-stable-api-for-apache-airflow/index.html b/blog/implementing-stable-api-for-apache-airflow/index.html
index 4df6499b18..ee845f8354 100644
--- a/blog/implementing-stable-api-for-apache-airflow/index.html
+++ b/blog/implementing-stable-api-for-apache-airflow/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2020-07-19T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="REST API">
     <meta property="og:image" content="/images/feature-image.png">
 
   <meta itemprop="name" content="Implementing Stable API for Apache Airflow">
   <meta itemprop="description" content="An Outreachy intern&#39;s progress report on contributing to Apache Airflow REST API.">
   <meta itemprop="datePublished" content="2020-07-19T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="703">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="REST API">
diff --git a/blog/index.html b/blog/index.html
index e1161ea3a2..e3ac525fdd 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -34,7 +34,7 @@
 
   <meta itemprop="name" content="Blog">
   <meta itemprop="description" content="Platform created by the community to programmatically author, schedule and monitor workflows.">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="image" content="/images/feature-image.png">
 
 
diff --git a/blog/index.xml b/blog/index.xml
index e7cf0bc4b7..bc1443b0d2 100644
--- a/blog/index.xml
+++ b/blog/index.xml
@@ -6,7 +6,7 @@
   <id>https://airflow.apache.org/blog/</id>
 
 
-  <updated>2026-09-25T17:49:02Z</updated>
+  <updated>2026-09-27T20:07:36Z</updated>
 
 
   <entry>
@@ -14,7 +14,7 @@
     <link href="https://airflow.apache.org/blog/airflow-3.3.0/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-3.3.0/</id>
     <published>2026-07-06T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>We&rsquo;re proud to announce the release of <strong>Apache Airflow 3.3.0</strong>! Where 3.2 brought precision to <em>data</em> with asset partitioning, 3.3 gives your <em>tasks</em> memory and multi-language support: a first-class state store for tasks and assets, a Language Task SDK for writing task logic in Java and Go, a major expansion of asset partitioning, and pluggable retry policies.</p>
@@ -246,7 +246,7 @@
     <link href="https://airflow.apache.org/blog/agentic-workloads-airflow-3/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/agentic-workloads-airflow-3/</id>
     <published>2026-04-15T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>A question like &ldquo;How does AI tool usage vary across Airflow versions?&rdquo; has a natural SQL shape: one cross-tabulation, one result. A question like &ldquo;What does a typical Airflow deployment look like for practitioners who are actively using AI in their workflow?&rdquo; does not. It requires querying executor type, deployment method, cloud provider, and Airflow version independently, each filtered to the same respondent group, th [...]
@@ -578,7 +578,7 @@ Receives the labeled result sets from all four dimensions and produces a plain-l
     <link href="https://airflow.apache.org/blog/ai-survey-analysis-pipelines/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/ai-survey-analysis-pipelines/</id>
     <published>2026-04-15T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>The <a href="https://airflow.apache.org/survey/">2025 Airflow Community Survey</a> collected responses
@@ -942,7 +942,7 @@ querying several dimensions in parallel and synthesizing the results with a seco
     <link href="https://airflow.apache.org/blog/common-ai-provider/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/common-ai-provider/</id>
     <published>2026-04-14T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>At <a href="https://airflowsummit.org/sessions/2025/airflow-as-an-ai-agents-toolkit-unlocking-1000-integrations-with-mcp/">Airflow Summit 2025</a>, we previewed what native AI integration in Apache Airflow could look like. Today we&rsquo;re shipping it.</p>
@@ -1250,7 +1250,7 @@ querying several dimensions in parallel and synthesizing the results with a seco
     <link href="https://airflow.apache.org/blog/airflow-3.2.0/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-3.2.0/</id>
     <published>2026-04-07T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>We&rsquo;re proud to announce the release of <strong>Apache Airflow 3.2.0</strong>! Airflow 3.1 puts humans at the center of automated workflows. 3.2 brings that same precision to data: Asset partitioning for granular pipeline orchestration, multi-team deployments for enterprise scale, synchronous deadline alert callbacks, and continued progress toward full Task SDK separation.</p>
@@ -1463,7 +1463,7 @@ export AIRFLOW__CORE__MULTI_TEAM=True
     <link href="https://airflow.apache.org/blog/airflow-registry/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-registry/</id>
     <published>2026-03-19T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>Today we&rsquo;re launching the <strong><a href="https://airflow.apache.org/registry/">Apache Airflow Registry</a></strong> — a searchable catalog of every official Airflow provider and its modules, live at <a href="https://airflow.apache.org/registry/">airflow.apache.org/registry/</a>.</p>
@@ -1544,7 +1544,7 @@ export AIRFLOW__CORE__MULTI_TEAM=True
     <link href="https://airflow.apache.org/blog/airflow-survey-2025/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-survey-2025/</id>
     <published>2026-01-22T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p><img src="/blog/airflow-survey-2025/images/Airflow-Survey-2025-Results.png" alt="Airflow Survey 2025" title="airflow_survey_2025"></p>
@@ -1565,7 +1565,7 @@ export AIRFLOW__CORE__MULTI_TEAM=True
     <link href="https://airflow.apache.org/blog/airflowctl-0.1.0/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflowctl-0.1.0/</id>
     <published>2025-10-15T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>We are thrilled to announce the first major release of <strong><code>airflowctl</code> 0.1.0</strong>, the new <strong>secure, API-driven command-line interface (CLI)</strong> for Apache Airflow — built under <a href="https://cwiki.apache.org/confluence/display/AIRFLOW/AIP-81&#43;Enhanced&#43;Security&#43;in&#43;CLI&#43;via&#43;Integration&#43;of&#43;API"><strong>AIP-81</strong></a>.</p>
@@ -1726,7 +1726,7 @@ The secure CLI foundation lays the groundwork for Airflow’s next generation. A
     <link href="https://airflow.apache.org/blog/airflow-3.1.0/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-3.1.0/</id>
     <published>2025-09-25T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>We are thrilled to announce the release of <strong>Apache Airflow 3.1.0</strong>, an update that puts humans at the center of data
@@ -1910,7 +1910,7 @@ human-centered. We can&rsquo;t wait to see what you build with it!</p>
     <link href="https://airflow.apache.org/blog/airflow-three-point-oh-is-here/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-three-point-oh-is-here/</id>
     <published>2025-04-22T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>We announced our intent to focus on Apache Airflow 3.0® as the next big milestone for the Airflow project at the Airflow Summit in September 2024. We are delighted to announce that Airflow 3.0 is now released!</p>
@@ -2315,7 +2315,7 @@ Let’s build the future of data orchestration—together.</p>
     <link href="https://airflow.apache.org/blog/airflow-survey-2024/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-survey-2024/</id>
     <published>2025-02-27T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p><img src="/blog/airflow-survey-2024/images/Airflow-Survey-2024-Results-v2.png" alt="Airflow Survey 2024" title="airflow_survey_2024"></p>
@@ -2336,7 +2336,7 @@ Let’s build the future of data orchestration—together.</p>
     <link href="https://airflow.apache.org/blog/airflow-2.10.0/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-2.10.0/</id>
     <published>2024-08-08T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>I&rsquo;m happy to announce that Apache Airflow 2.10.0 is now available, bringing an array of noteworthy enhancements and new features that will greatly serve our community.</p>
@@ -2459,7 +2459,7 @@ executor = &#39;LocalExecutor,KubernetesExecutor,my.custom.module.ExecutorClass:
     <link href="https://airflow.apache.org/blog/airflow-2.9.0/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-2.9.0/</id>
     <published>2024-04-08T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>I’m happy to announce that Apache Airflow 2.9.0 has been released! This time around we have new features for data-aware scheduling and a bunch of UI-related improvements.</p>
@@ -2580,7 +2580,7 @@ xcom_objectstorage_compression = gzip
     <link href="https://airflow.apache.org/blog/fab-oid-vulnerability/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/fab-oid-vulnerability/</id>
     <published>2024-02-26T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<h1 id="vulnerability-in-long-deprecated-openid-authentication-method-in-flask-appbuilder">Vulnerability in long deprecated OpenID authentication method in Flask AppBuilder</h1>
@@ -2666,7 +2666,7 @@ where Flask AppBuilder is also used.</p>
     <link href="https://airflow.apache.org/blog/airflow-2.8.0/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-2.8.0/</id>
     <published>2023-12-15T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>I am thrilled to announce the release of Apache Airflow 2.8.0, featuring a host of significant enhancements and new features that will greatly benefit our community.</p>
@@ -2746,7 +2746,7 @@ We care for your security, and &ldquo;secure by default&rdquo; is one of the thi
     <link href="https://airflow.apache.org/blog/airflow-survey-2023/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-survey-2023/</id>
     <published>2023-09-21T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p><img src="/blog/airflow-survey-2023/images/Astronomer_Demographics.png" alt="Demographics" title="airflow_usage">
@@ -2764,7 +2764,7 @@ We care for your security, and &ldquo;secure by default&rdquo; is one of the thi
     <link href="https://airflow.apache.org/blog/airflow-2.7.0/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-2.7.0/</id>
     <published>2023-08-18T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>I’m happy to announce that Apache Airflow 2.7.0 has been released! Some notable features have been added that we are excited for the community to use.</p>
@@ -2826,7 +2826,7 @@ The following providers have been moved and require certain minimum providers ve
     <link href="https://airflow.apache.org/blog/introducing_setup_teardown/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/introducing_setup_teardown/</id>
     <published>2023-08-18T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>In data pipelines, commonly we need to create infrastructure resources, like a cluster or GPU nodes in an existing cluster, before doing the actual “work” and delete them after the work is done. Airflow 2.7 adds “setup” and “teardown” tasks to better support this type of pipeline. This blog post aims to highlight the key features so you know what’s possible. For full documentation on how to use setup and teardown tasks, see the <a href="https [...]
@@ -2874,7 +2874,7 @@ The following providers have been moved and require certain minimum providers ve
     <link href="https://airflow.apache.org/blog/airflow-2.6.0/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-2.6.0/</id>
     <published>2023-04-30T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>I am excited to announce that Apache Airflow 2.6.0 has been released, bringing many minor features and improvements to the community.</p>
@@ -2933,7 +2933,7 @@ The following providers have been moved and require certain minimum providers ve
     <link href="https://airflow.apache.org/blog/airflow-2.5.0/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-2.5.0/</id>
     <published>2022-12-02T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>Apache Airflow 2.5 has just been released, barely two and a half months after 2.4!</p>
@@ -2968,7 +2968,7 @@ c. Everything runs in one process, so you can put a breakpoint in your IDE, and
     <link href="https://airflow.apache.org/blog/airflow-2.4.0/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-2.4.0/</id>
     <published>2022-09-19T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>Apache Airflow 2.4.0 contains over 650 &ldquo;user-facing&rdquo; commits (excluding commits to providers or chart) and over 870 total. That includes 46 new features, 39 improvements, 52 bug fixes, and several documentation changes.</p>
@@ -3072,7 +3072,7 @@ c. Everything runs in one process, so you can put a breakpoint in your IDE, and
     <link href="https://airflow.apache.org/blog/airflow-survey-2022/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-survey-2022/</id>
     <published>2022-06-17T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<h1 id="airflow-user-survey-2022">Airflow User Survey 2022</h1>
@@ -4762,7 +4762,7 @@ c. Everything runs in one process, so you can put a breakpoint in your IDE, and
     <link href="https://airflow.apache.org/blog/airflow_summit_2022/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow_summit_2022/</id>
     <published>2022-05-16T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>The biggest Airflow Event of the Year returns May 23–27! Airflow Summit 2022 will bring together the global
@@ -4786,7 +4786,7 @@ communities to watch the event and network.</p>
     <link href="https://airflow.apache.org/blog/airflow-2.3.0/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-2.3.0/</id>
     <published>2022-04-30T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>Apache Airflow 2.3.0 contains over 700 commits since 2.2.0 and includes 50 new features, 99 improvements, 85 bug fixes, and several doc changes.</p>
@@ -4887,7 +4887,7 @@ Sade&rsquo;s &ldquo;Smooth Operator&rdquo;. Enjoy!</li>
     <link href="https://airflow.apache.org/blog/airflow-2.2.0/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-2.2.0/</id>
     <published>2021-10-11T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>I’m proud to announce that Apache Airflow 2.2.0 has been released. It contains over 600 commits since 2.1.4 and includes 30 new features, 84 improvements, 85 bug fixes, and many internal and doc changes.</p>
@@ -4942,7 +4942,7 @@ Sade&rsquo;s &ldquo;Smooth Operator&rdquo;. Enjoy!</li>
     <link href="https://airflow.apache.org/blog/airflow_summit_2021/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow_summit_2021/</id>
     <published>2021-03-21T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<h2 id="airflow-summit-2021-is-here">Airflow Summit 2021 is here!</h2>
@@ -4963,7 +4963,7 @@ participate in its development.</p>
     <link href="https://airflow.apache.org/blog/airflow-survey-2020/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-survey-2020/</id>
     <published>2021-03-09T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<h1 id="apache-airflow-survey-2020">Apache Airflow Survey 2020</h1>
@@ -6287,7 +6287,7 @@ to share their experience and tools.</p>
     <link href="https://airflow.apache.org/blog/airflow-two-point-oh-is-here/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-two-point-oh-is-here/</id>
     <published>2020-12-17T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>I am proud to announce that Apache Airflow 2.0.0 has been released.</p>
@@ -6380,7 +6380,7 @@ Docs on <a href="http://airflow.apache.org/docs/apache-airflow-providers/package
     <link href="https://airflow.apache.org/blog/experience-with-airflow-as-an-outreachy-intern/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/experience-with-airflow-as-an-outreachy-intern/</id>
     <published>2020-08-30T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p><a href="https://www.outreachy.org/">Outreachy</a> is a program which organises three months paid internships with FOSS
@@ -6440,7 +6440,7 @@ community that has been made my summer, one to remember.</p>
     <link href="https://airflow.apache.org/blog/airflow-1.10.12/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-1.10.12/</id>
     <published>2020-08-25T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>Airflow 1.10.12 contains 113 commits since 1.10.11 and includes 5 new features, 23 improvements, 23 bug fixes,
@@ -6560,7 +6560,7 @@ William Tran, Xiaodong Deng, YI FU, Zikun Zhu, dewaldabrie, pulsar314, retornam,
     <link href="https://airflow.apache.org/blog/apache-airflow-for-newcomers/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/apache-airflow-for-newcomers/</id>
     <published>2020-08-17T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>Apache Airflow is a platform to programmatically author, schedule, and monitor workflows.
@@ -6672,7 +6672,7 @@ and <a href="https://github.com/turbaszek">Tomek</a> for all their support. I&rs
     <link href="https://airflow.apache.org/blog/implementing-stable-api-for-apache-airflow/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/implementing-stable-api-for-apache-airflow/</id>
     <published>2020-07-19T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>My <a href="https://outreachy.org">Outreachy internship</a> is coming to its ends which is also the best time to look back and
@@ -6757,7 +6757,7 @@ wonderful reviews. I&rsquo;m grateful.</p>
     <link href="https://airflow.apache.org/blog/airflow-1.10.10/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-1.10.10/</id>
     <published>2020-04-09T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>Airflow 1.10.10 contains 199 commits since 1.10.9 and includes 11 new features, 43 improvements, 44 bug fixes, and several doc changes.</p>
@@ -6899,7 +6899,7 @@ objc[1873]: +[__NSPlaceholderDate initialize] may have been in progress in anoth
     <link href="https://airflow.apache.org/blog/airflow-1.10.8-1.10.9/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-1.10.8-1.10.9/</id>
     <published>2020-02-23T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>Airflow 1.10.8 contains 160 commits since 1.10.7 and includes 4 new features, 42 improvements, 36 bug fixes, and several doc changes.</p>
@@ -6953,7 +6953,7 @@ for 1.10.* series but would no longer be available from Airflow 2.0</p>
     <link href="https://airflow.apache.org/blog/experience-in-google-season-of-docs-2019-with-apache-airflow/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/experience-in-google-season-of-docs-2019-with-apache-airflow/</id>
     <published>2019-12-20T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>I came across <a href="https://developers.google.com/season-of-docs">Google Season of Docs</a> (GSoD) almost by accident, thanks to my extensive HackerNews and Twitter addiction.  I was familiar with the Google Summer of Code but not with this program.
@@ -7050,7 +7050,7 @@ After a lot of trial and error, we arrived at a version with which both of us co
     <link href="https://airflow.apache.org/blog/airflow-survey/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/airflow-survey/</id>
     <published>2019-12-11T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<h1 id="apache-airflow-survey-2019">Apache Airflow Survey 2019</h1>
@@ -7852,7 +7852,7 @@ declare DAGs.</p>
     <link href="https://airflow.apache.org/blog/announcing-new-website/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/announcing-new-website/</id>
     <published>2019-12-11T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>The brand <a href="https://airflow.apache.org/">new Airflow website</a> has arrived! Those who have been following the process know that the journey to update <a href="https://airflow.readthedocs.io/en/1.10.6/">the old Airflow website</a> started at the beginning of the year.
@@ -7883,7 +7883,7 @@ and that its improved accessibility increases adoption and use of Apache Airflow
     <link href="https://airflow.apache.org/blog/apache-con-europe-2019-thoughts-and-insights-by-airflow-committers/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/apache-con-europe-2019-thoughts-and-insights-by-airflow-committers/</id>
     <published>2019-11-22T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<p>Is it possible to create an organization that delivers tens of projects used by millions, nearly no one is paid for doing their job, and still, it has been fruitfully carrying on for more than 20 years? Apache Software Foundation proves it is possible. For the last two decades, ASF has been crafting a model called the Apache Way—a way of organizing and leading tech open source projects. Due to this approach, which is strongly based on the “co [...]
@@ -7897,7 +7897,7 @@ and that its improved accessibility increases adoption and use of Apache Airflow
     <link href="https://airflow.apache.org/blog/documenting-using-local-development-environments/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/documenting-using-local-development-environments/</id>
     <published>2019-11-22T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<h2 id="documenting-local-development-environment-of-apache-airflow">Documenting local development environment of Apache Airflow</h2>
@@ -7935,7 +7935,7 @@ a team for 3 months.</p>
     <link href="https://airflow.apache.org/blog/its-a-breeze-to-develop-apache-airflow/" rel="alternate"/>
     <id>https://airflow.apache.org/blog/its-a-breeze-to-develop-apache-airflow/</id>
     <published>2019-11-22T00:00:00Z</published>
-    <updated>2026-09-25T17:49:02Z</updated>
+    <updated>2026-09-27T20:07:36Z</updated>
     <author>
       <name>Apache Airflow</name>
     </author><content type="html"><![CDATA[<h2 id="the-story-behind-the-airflow-breeze-tool">The story behind the Airflow Breeze tool</h2>
diff --git a/blog/introducing_setup_teardown/index.html b/blog/introducing_setup_teardown/index.html
index 4c6abdb010..740b204044 100644
--- a/blog/introducing_setup_teardown/index.html
+++ b/blog/introducing_setup_teardown/index.html
@@ -31,13 +31,13 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2023-08-18T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="og:image" content="/images/feature-image.png">
 
   <meta itemprop="name" content="Introducing Setup and Teardown tasks">
   <meta itemprop="description" content="An introduction to Setup and Teardown tasks, which are new in Apache Airflow 2.7.0">
   <meta itemprop="datePublished" content="2023-08-18T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="678">
   <meta itemprop="image" content="/images/feature-image.png">
 
diff --git a/blog/its-a-breeze-to-develop-apache-airflow/index.html b/blog/its-a-breeze-to-develop-apache-airflow/index.html
index 15cdb0cec0..a4c696e04f 100644
--- a/blog/its-a-breeze-to-develop-apache-airflow/index.html
+++ b/blog/its-a-breeze-to-develop-apache-airflow/index.html
@@ -31,14 +31,14 @@
   <meta property="og:type" content="article">
     <meta property="article:section" content="blog">
     <meta property="article:published_time" content="2019-11-22T00:00:00+00:00">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="article:tag" content="Development">
     <meta property="og:image" content="/images/feature-image.png">
 
   <meta itemprop="name" content="It&#39;s a &#34;Breeze&#34; to develop Apache Airflow">
   <meta itemprop="description" content="A Principal Software Engineer&#39;s journey to developer productivity. Learn how Jarek and his team sped up and simplified Airflow development for the community.">
   <meta itemprop="datePublished" content="2019-11-22T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="124">
   <meta itemprop="image" content="/images/feature-image.png">
   <meta itemprop="keywords" content="Development">
diff --git a/blog/tags/airflow-summit/index.html b/blog/tags/airflow-summit/index.html
index 44356fb781..8eb99c279b 100644
--- a/blog/tags/airflow-summit/index.html
+++ b/blog/tags/airflow-summit/index.html
@@ -35,7 +35,7 @@
   <meta itemprop="name" content="Airflow Summit">
   <meta itemprop="description" content="Platform created by the community to programmatically author, schedule and monitor workflows.">
   <meta itemprop="datePublished" content="2022-05-16T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="image" content="/images/feature-image.png">
 
 
diff --git a/blog/tags/airflow-summit/index.xml b/blog/tags/airflow-summit/index.xml
index e6b507dcf1..63fa764035 100644
--- a/blog/tags/airflow-summit/index.xml
+++ b/blog/tags/airflow-summit/index.xml
@@ -6,7 +6,7 @@
     <description>Recent content in Airflow Summit on Apache Airflow</description>
     <generator>Hugo</generator>
     <language>en</language>
-    <lastBuildDate>Fri, 25 Sep 2026 17:49:02 +0200</lastBuildDate>
+    <lastBuildDate>Sun, 27 Sep 2026 20:07:36 +0200</lastBuildDate>
     <atom:link href="/blog/tags/airflow-summit/index.xml" rel="self" type="application/rss+xml" />
     <item>
       <title>Airflow Summit 2022</title>
diff --git a/blog/tags/community/index.html b/blog/tags/community/index.html
index 1c23c0557c..30b63787ec 100644
--- a/blog/tags/community/index.html
+++ b/blog/tags/community/index.html
@@ -35,7 +35,7 @@
   <meta itemprop="name" content="Community">
   <meta itemprop="description" content="Platform created by the community to programmatically author, schedule and monitor workflows.">
   <meta itemprop="datePublished" content="2026-04-15T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="image" content="/images/feature-image.png">
 
 
diff --git a/blog/tags/community/index.xml b/blog/tags/community/index.xml
index c22d5724c4..39be679a3f 100644
--- a/blog/tags/community/index.xml
+++ b/blog/tags/community/index.xml
@@ -6,7 +6,7 @@
     <description>Recent content in Community on Apache Airflow</description>
     <generator>Hugo</generator>
     <language>en</language>
-    <lastBuildDate>Fri, 25 Sep 2026 17:49:02 +0200</lastBuildDate>
+    <lastBuildDate>Sun, 27 Sep 2026 20:07:36 +0200</lastBuildDate>
     <atom:link href="/blog/tags/community/index.xml" rel="self" type="application/rss+xml" />
     <item>
       <title>Agentic Workloads on Airflow: Observable, Retryable, and Auditable by Design</title>
diff --git a/blog/tags/development/index.html b/blog/tags/development/index.html
index b83a5a4c88..8d5b70f161 100644
--- a/blog/tags/development/index.html
+++ b/blog/tags/development/index.html
@@ -35,7 +35,7 @@
   <meta itemprop="name" content="Development">
   <meta itemprop="description" content="Platform created by the community to programmatically author, schedule and monitor workflows.">
   <meta itemprop="datePublished" content="2019-11-22T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="image" content="/images/feature-image.png">
 
 
diff --git a/blog/tags/development/index.xml b/blog/tags/development/index.xml
index a84889862c..7e9036268c 100644
--- a/blog/tags/development/index.xml
+++ b/blog/tags/development/index.xml
@@ -6,7 +6,7 @@
     <description>Recent content in Development on Apache Airflow</description>
     <generator>Hugo</generator>
     <language>en</language>
-    <lastBuildDate>Fri, 25 Sep 2026 17:49:02 +0200</lastBuildDate>
+    <lastBuildDate>Sun, 27 Sep 2026 20:07:36 +0200</lastBuildDate>
     <atom:link href="/blog/tags/development/index.xml" rel="self" type="application/rss+xml" />
     <item>
       <title>Documenting using local development environment</title>
diff --git a/blog/tags/documentation/index.html b/blog/tags/documentation/index.html
index c5fb947077..025ffeabf9 100644
--- a/blog/tags/documentation/index.html
+++ b/blog/tags/documentation/index.html
@@ -35,7 +35,7 @@
   <meta itemprop="name" content="Documentation">
   <meta itemprop="description" content="Platform created by the community to programmatically author, schedule and monitor workflows.">
   <meta itemprop="datePublished" content="2019-12-20T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="image" content="/images/feature-image.png">
 
 
diff --git a/blog/tags/documentation/index.xml b/blog/tags/documentation/index.xml
index 73ba5608ba..0831c84b2d 100644
--- a/blog/tags/documentation/index.xml
+++ b/blog/tags/documentation/index.xml
@@ -6,7 +6,7 @@
     <description>Recent content in Documentation on Apache Airflow</description>
     <generator>Hugo</generator>
     <language>en</language>
-    <lastBuildDate>Fri, 25 Sep 2026 17:49:02 +0200</lastBuildDate>
+    <lastBuildDate>Sun, 27 Sep 2026 20:07:36 +0200</lastBuildDate>
     <atom:link href="/blog/tags/documentation/index.xml" rel="self" type="application/rss+xml" />
     <item>
       <title>Experience in Google Season of Docs 2019 with Apache Airflow</title>
diff --git a/blog/tags/release/index.html b/blog/tags/release/index.html
index c8b50b7210..182554e838 100644
--- a/blog/tags/release/index.html
+++ b/blog/tags/release/index.html
@@ -35,7 +35,7 @@
   <meta itemprop="name" content="Release">
   <meta itemprop="description" content="Platform created by the community to programmatically author, schedule and monitor workflows.">
   <meta itemprop="datePublished" content="2026-07-06T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="image" content="/images/feature-image.png">
 
 
diff --git a/blog/tags/release/index.xml b/blog/tags/release/index.xml
index c2e53ae8a1..df087b2778 100644
--- a/blog/tags/release/index.xml
+++ b/blog/tags/release/index.xml
@@ -6,7 +6,7 @@
     <description>Recent content in Release on Apache Airflow</description>
     <generator>Hugo</generator>
     <language>en</language>
-    <lastBuildDate>Fri, 25 Sep 2026 17:49:02 +0200</lastBuildDate>
+    <lastBuildDate>Sun, 27 Sep 2026 20:07:36 +0200</lastBuildDate>
     <atom:link href="/blog/tags/release/index.xml" rel="self" type="application/rss+xml" />
     <item>
       <title>Apache Airflow 3.3.0: Stateful Tasks and Multi-Language Support</title>
diff --git a/blog/tags/rest-api/index.html b/blog/tags/rest-api/index.html
index 13cd805670..ad22da890e 100644
--- a/blog/tags/rest-api/index.html
+++ b/blog/tags/rest-api/index.html
@@ -35,7 +35,7 @@
   <meta itemprop="name" content="REST API">
   <meta itemprop="description" content="Platform created by the community to programmatically author, schedule and monitor workflows.">
   <meta itemprop="datePublished" content="2020-07-19T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="image" content="/images/feature-image.png">
 
 
diff --git a/blog/tags/rest-api/index.xml b/blog/tags/rest-api/index.xml
index f5ef1d1b7b..5476482272 100644
--- a/blog/tags/rest-api/index.xml
+++ b/blog/tags/rest-api/index.xml
@@ -6,7 +6,7 @@
     <description>Recent content in REST API on Apache Airflow</description>
     <generator>Hugo</generator>
     <language>en</language>
-    <lastBuildDate>Fri, 25 Sep 2026 17:49:02 +0200</lastBuildDate>
+    <lastBuildDate>Sun, 27 Sep 2026 20:07:36 +0200</lastBuildDate>
     <atom:link href="/blog/tags/rest-api/index.xml" rel="self" type="application/rss+xml" />
     <item>
       <title>Implementing Stable API for Apache Airflow</title>
diff --git a/blog/tags/survey/index.html b/blog/tags/survey/index.html
index 782e1aa8ba..53e9da510f 100644
--- a/blog/tags/survey/index.html
+++ b/blog/tags/survey/index.html
@@ -35,7 +35,7 @@
   <meta itemprop="name" content="Survey">
   <meta itemprop="description" content="Platform created by the community to programmatically author, schedule and monitor workflows.">
   <meta itemprop="datePublished" content="2026-01-22T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="image" content="/images/feature-image.png">
 
 
diff --git a/blog/tags/survey/index.xml b/blog/tags/survey/index.xml
index 2fd3b48cd6..c64075de38 100644
--- a/blog/tags/survey/index.xml
+++ b/blog/tags/survey/index.xml
@@ -6,7 +6,7 @@
     <description>Recent content in Survey on Apache Airflow</description>
     <generator>Hugo</generator>
     <language>en</language>
-    <lastBuildDate>Fri, 25 Sep 2026 17:49:02 +0200</lastBuildDate>
+    <lastBuildDate>Sun, 27 Sep 2026 20:07:36 +0200</lastBuildDate>
     <atom:link href="/blog/tags/survey/index.xml" rel="self" type="application/rss+xml" />
     <item>
       <title>Airflow Survey 2025</title>
diff --git a/blog/tags/tutorial/index.html b/blog/tags/tutorial/index.html
index 166481b1cc..b5736af31a 100644
--- a/blog/tags/tutorial/index.html
+++ b/blog/tags/tutorial/index.html
@@ -35,7 +35,7 @@
   <meta itemprop="name" content="Tutorial">
   <meta itemprop="description" content="Platform created by the community to programmatically author, schedule and monitor workflows.">
   <meta itemprop="datePublished" content="2026-04-15T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="image" content="/images/feature-image.png">
 
 
diff --git a/blog/tags/tutorial/index.xml b/blog/tags/tutorial/index.xml
index dbc01182b8..db37e33c93 100644
--- a/blog/tags/tutorial/index.xml
+++ b/blog/tags/tutorial/index.xml
@@ -6,7 +6,7 @@
     <description>Recent content in Tutorial on Apache Airflow</description>
     <generator>Hugo</generator>
     <language>en</language>
-    <lastBuildDate>Fri, 25 Sep 2026 17:49:02 +0200</lastBuildDate>
+    <lastBuildDate>Sun, 27 Sep 2026 20:07:36 +0200</lastBuildDate>
     <atom:link href="/blog/tags/tutorial/index.xml" rel="self" type="application/rss+xml" />
     <item>
       <title>Agentic Workloads on Airflow: Observable, Retryable, and Auditable by Design</title>
diff --git a/blog/tags/users/index.html b/blog/tags/users/index.html
index 8270f84279..4f3a372212 100644
--- a/blog/tags/users/index.html
+++ b/blog/tags/users/index.html
@@ -35,7 +35,7 @@
   <meta itemprop="name" content="Users">
   <meta itemprop="description" content="Platform created by the community to programmatically author, schedule and monitor workflows.">
   <meta itemprop="datePublished" content="2026-01-22T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="image" content="/images/feature-image.png">
 
 
diff --git a/blog/tags/users/index.xml b/blog/tags/users/index.xml
index bfb0c732dc..2e3eb5ba20 100644
--- a/blog/tags/users/index.xml
+++ b/blog/tags/users/index.xml
@@ -6,7 +6,7 @@
     <description>Recent content in Users on Apache Airflow</description>
     <generator>Hugo</generator>
     <language>en</language>
-    <lastBuildDate>Fri, 25 Sep 2026 17:49:02 +0200</lastBuildDate>
+    <lastBuildDate>Sun, 27 Sep 2026 20:07:36 +0200</lastBuildDate>
     <atom:link href="/blog/tags/users/index.xml" rel="self" type="application/rss+xml" />
     <item>
       <title>Airflow Survey 2025</title>
diff --git a/blog/tags/vulnerabilities/index.html b/blog/tags/vulnerabilities/index.html
index cab816be74..fe96cfb540 100644
--- a/blog/tags/vulnerabilities/index.html
+++ b/blog/tags/vulnerabilities/index.html
@@ -35,7 +35,7 @@
   <meta itemprop="name" content="Vulnerabilities">
   <meta itemprop="description" content="Platform created by the community to programmatically author, schedule and monitor workflows.">
   <meta itemprop="datePublished" content="2024-02-26T00:00:00+00:00">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="image" content="/images/feature-image.png">
 
 
diff --git a/blog/tags/vulnerabilities/index.xml b/blog/tags/vulnerabilities/index.xml
index 68844039b3..ca9708383b 100644
--- a/blog/tags/vulnerabilities/index.xml
+++ b/blog/tags/vulnerabilities/index.xml
@@ -6,7 +6,7 @@
     <description>Recent content in Vulnerabilities on Apache Airflow</description>
     <generator>Hugo</generator>
     <language>en</language>
-    <lastBuildDate>Fri, 25 Sep 2026 17:49:02 +0200</lastBuildDate>
+    <lastBuildDate>Sun, 27 Sep 2026 20:07:36 +0200</lastBuildDate>
     <atom:link href="/blog/tags/vulnerabilities/index.xml" rel="self" type="application/rss+xml" />
     <item>
       <title>Vulnerability in long deprecated OpenID authentication method in Flask AppBuilder</title>
diff --git a/code-of-conduct/index.html b/code-of-conduct/index.html
index 763fb004c3..3f3ad7a9f3 100644
--- a/code-of-conduct/index.html
+++ b/code-of-conduct/index.html
@@ -36,7 +36,7 @@ Airflow Slack Guidelines Airflow Slack abides by The Apache Foundation’s Code
   <meta itemprop="name" content="Code of Conduct">
   <meta itemprop="description" content="Community Code of Conduct All Airflow Community groups abide by The Apache Software Foundation’s (ASF) Code of Conduct . Below, please find a breakdown of how that code applies to Airflow Slack and in-person Meetups
 Airflow Slack Guidelines Airflow Slack abides by The Apache Foundation’s Code of Conduct . In addition to those primary guidelines, these policies are specifically for Airflow Slack. The Airflow Slack community contains 40,000&#43; members and continues to grow. Because this community is run by the very practitioners who build in Airflow daily, our members feel a sense of camaraderie, ownership, and comfortability here.  ">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="1576">
   <meta itemprop="image" content="/images/feature-image.png">
 
diff --git a/community/index.html b/community/index.html
index 2c5e4df71c..d964ee1286 100644
--- a/community/index.html
+++ b/community/index.html
@@ -34,7 +34,7 @@
 
   <meta itemprop="name" content="Community">
   <meta itemprop="description" content="Want to contribute? Join the Dev list The Dev list is the preferred channel for announcements, proposals and votes. Manage your subscription:">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="560">
   <meta itemprop="image" content="/images/feature-image.png">
 
diff --git a/community/resources/index.html b/community/resources/index.html
index 57831c3f1f..b66adb8e1a 100644
--- a/community/resources/index.html
+++ b/community/resources/index.html
@@ -30,12 +30,12 @@
   <meta property="og:locale" content="en">
   <meta property="og:type" content="article">
     <meta property="article:section" content="community">
-    <meta property="article:modified_time" content="2026-09-25T17:49:02+02:00">
+    <meta property="article:modified_time" content="2026-09-27T20:07:36+02:00">
     <meta property="og:image" content="/images/feature-image.png">
 
   <meta itemprop="name" content="Apache Airflow">
   <meta itemprop="description" content="Promo Materials Download official Apache Airflow branding materials, including logos and banners, to accurately represent and promote the project. Airflow logos Logo SVGs (light): Horizontal, Small, Icon Logo SVGs (dark): Horizontal, Small, Icon Brandbook Drawio Diagrams Lucidchart Diagrams Promo stuff Proposed Logo Redesign">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="43">
   <meta itemprop="image" content="/images/feature-image.png">
 
diff --git a/docs/index.html b/docs/index.html
index d5f0ddd43e..93b5f4540a 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -36,7 +36,7 @@ Apache Airflow CTL (airflowctl) Apache Airflow CTL (airflowctl) is a command-lin
   <meta itemprop="name" content="Documentation">
   <meta itemprop="description" content="Documentation Apache Airflow® Apache Airflow Core, which includes webserver, scheduler, CLI and other components that are needed for minimal Airflow installation. Read Apache Airflow documentation »
 Apache Airflow CTL (airflowctl) Apache Airflow CTL (airflowctl) is a command-line interface (CLI) for Apache Airflow that interacts exclusively with the Airflow REST API. It provides a secure, auditable, and consistent way to manage Airflow deployments — without direct access to the metadata database. Read airflowctl documentation »">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="632">
   <meta itemprop="image" content="/images/feature-image.png">
 
diff --git a/ecosystem/index.html b/ecosystem/index.html
index 97597d3369..687334f2da 100644
--- a/ecosystem/index.html
+++ b/ecosystem/index.html
@@ -36,7 +36,7 @@ If you would you like to be included on this page, please reach out to the Apach
   <meta itemprop="name" content="Ecosystem">
   <meta itemprop="description" content="Ecosystem These resources and services are not maintained, nor endorsed by the Apache Airflow® Community and Apache Airflow project (maintained by the Committers and the Airflow PMC). Use them at your sole discretion. The community does not verify the licences nor validity of those tools, so it’s your responsibility to verify them.
 If you would you like to be included on this page, please reach out to the Apache Airflow dev or user mailing list and let us know or simply open a Pull Request to that page.">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="wordCount" content="2519">
   <meta itemprop="image" content="/images/feature-image.png">
 
diff --git a/index.html b/index.html
index 07825f7293..c012e0dd90 100644
--- a/index.html
+++ b/index.html
@@ -34,7 +34,7 @@
 
   <meta itemprop="name" content="Home">
   <meta itemprop="description" content="Platform created by the community to programmatically author, schedule and monitor workflows.">
-  <meta itemprop="dateModified" content="2026-09-25T17:49:02+02:00">
+  <meta itemprop="dateModified" content="2026-09-27T20:07:36+02:00">
   <meta itemprop="image" content="/images/feature-image.png">
 
 
diff --git a/k8s-schemas/v1.32.11-standalone-strict/clusterrole-rbac-v1.json b/k8s-schemas/v1.32.11-standalone-strict/clusterrole-rbac-v1.json
new file mode 100644
index 0000000000..7f3e0c7e76
--- /dev/null
+++ b/k8s-schemas/v1.32.11-standalone-strict/clusterrole-rbac-v1.json
@@ -0,0 +1,462 @@
+{
+  "description": "ClusterRole is a cluster level, logical grouping of PolicyRules that can be referenced as a unit by a RoleBinding or ClusterRoleBinding.",
+  "properties": {
+    "aggregationRule": {
+      "description": "AggregationRule describes how to locate ClusterRoles to aggregate into the ClusterRole",
+      "properties": {
+        "clusterRoleSelectors": {
+          "description": "ClusterRoleSelectors holds a list of selectors which will be used to find ClusterRoles and create the rules. If any of the selectors match, then the ClusterRole's permissions will be added",
+          "items": {
+            "description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
+            "properties": {
+              "matchExpressions": {
+                "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
+                "items": {
+                  "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
+                  "properties": {
+                    "key": {
+                      "description": "key is the label key that the selector applies to.",
+                      "type": "string"
+                    },
+                    "operator": {
+                      "description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.",
+                      "type": "string"
+                    },
+                    "values": {
+                      "description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.",
+                      "items": {
+                        "type": [
+                          "string",
+                          "null"
+                        ]
+                      },
+                      "type": [
+                        "array",
+                        "null"
+                      ],
+                      "x-kubernetes-list-type": "atomic"
+                    }
+                  },
+                  "required": [
+                    "key",
+                    "operator"
+                  ],
+                  "type": [
+                    "object",
+                    "null"
+                  ],
+                  "additionalProperties": false
+                },
+                "type": [
+                  "array",
+                  "null"
+                ],
+                "x-kubernetes-list-type": "atomic"
+              },
+              "matchLabels": {
+                "additionalProperties": {
+                  "type": [
+                    "string",
+                    "null"
+                  ]
+                },
+                "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
+                "type": [
+                  "object",
+                  "null"
+                ]
+              }
+            },
+            "type": [
+              "object",
+              "null"
+            ],
+            "x-kubernetes-map-type": "atomic",
+            "additionalProperties": false
+          },
+          "type": [
+            "array",
+            "null"
+          ],
+          "x-kubernetes-list-type": "atomic"
+        }
+      },
+      "type": [
+        "object",
+        "null"
+      ],
+      "additionalProperties": false
+    },
+    "apiVersion": {
+      "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
+      "type": [
+        "string",
+        "null"
+      ],
+      "enum": [
+        "rbac.authorization.k8s.io/v1"
+      ]
+    },
+    "kind": {
+      "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+      "type": [
+        "string",
+        "null"
+      ],
+      "enum": [
+        "ClusterRole"
+      ]
+    },
+    "metadata": {
+      "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.",
+      "properties": {
+        "annotations": {
+          "additionalProperties": {
+            "type": [
+              "string",
+              "null"
+            ]
+          },
+          "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations",
+          "type": [
+            "object",
+            "null"
+          ]
+        },
+        "creationTimestamp": {
+          "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
+          "format": "date-time",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "deletionGracePeriodSeconds": {
+          "description": "Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.",
+          "format": "int64",
+          "type": [
+            "integer",
+            "null"
+          ]
+        },
+        "deletionTimestamp": {
+          "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
+          "format": "date-time",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "finalizers": {
+          "description": "Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order.  Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If [...]
+          "items": {
+            "type": [
+              "string",
+              "null"
+            ]
+          },
+          "type": [
+            "array",
+            "null"
+          ],
+          "x-kubernetes-list-type": "set",
+          "x-kubernetes-patch-strategy": "merge"
+        },
+        "generateName": {
+          "description": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is sp [...]
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "generation": {
+          "description": "A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.",
+          "format": "int64",
+          "type": [
+            "integer",
+            "null"
+          ]
+        },
+        "labels": {
+          "additionalProperties": {
+            "type": [
+              "string",
+              "null"
+            ]
+          },
+          "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels",
+          "type": [
+            "object",
+            "null"
+          ]
+        },
+        "managedFields": {
+          "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.",
+          "items": {
+            "description": "ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to.",
+            "properties": {
+              "apiVersion": {
+                "description": "APIVersion defines the version of this resource that this field set applies to. The format is \"group/version\" just like the top-level APIVersion field. It is necessary to track the version of a field set because it cannot be automatically converted.",
+                "type": [
+                  "string",
+                  "null"
+                ]
+              },
+              "fieldsType": {
+                "description": "FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: \"FieldsV1\"",
+                "type": [
+                  "string",
+                  "null"
+                ]
+              },
+              "fieldsV1": {
+                "description": "FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format.\n\nEach key is either a '.' representing the field itself, and will always map to an empty set, or a string representing a sub-field or item. The string will follow one of these four formats: 'f:<name>', where <name> is the name of a field in a struct, or key in a map 'v:<value>', where <value> is the exact json formatted value of a list item 'i:<index>', where <index> is posi [...]
+                "type": [
+                  "object",
+                  "null"
+                ]
+              },
+              "manager": {
+                "description": "Manager is an identifier of the workflow managing these fields.",
+                "type": [
+                  "string",
+                  "null"
+                ]
+              },
+              "operation": {
+                "description": "Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'.",
+                "type": [
+                  "string",
+                  "null"
+                ]
+              },
+              "subresource": {
+                "description": "Subresource is the name of the subresource used to update that object, or empty string if the object was updated through the main resource. The value of this field is used to distinguish between managers, even if they share the same name. For example, a status update will be distinct from a regular update using the same manager name. Note that the APIVersion field is not related to the Subresource field and it always corresponds to the version of the main  [...]
+                "type": [
+                  "string",
+                  "null"
+                ]
+              },
+              "time": {
+                "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
+                "format": "date-time",
+                "type": [
+                  "string",
+                  "null"
+                ]
+              }
+            },
+            "type": [
+              "object",
+              "null"
+            ],
+            "additionalProperties": false
+          },
+          "type": [
+            "array",
+            "null"
+          ],
+          "x-kubernetes-list-type": "atomic"
+        },
+        "name": {
+          "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "namespace": {
+          "description": "Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "ownerReferences": {
+          "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.",
+          "items": {
+            "description": "OwnerReference contains enough information to let you identify an owning object. An owning object must be in the same namespace as the dependent, or be cluster-scoped, so there is no namespace field.",
+            "properties": {
+              "apiVersion": {
+                "description": "API version of the referent.",
+                "type": "string"
+              },
+              "blockOwnerDeletion": {
+                "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion for how the garbage collector interacts with this field and enforces the foreground deletion. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessabl [...]
+                "type": [
+                  "boolean",
+                  "null"
+                ]
+              },
+              "controller": {
+                "description": "If true, this reference points to the managing controller.",
+                "type": [
+                  "boolean",
+                  "null"
+                ]
+              },
+              "kind": {
+                "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+                "type": "string"
+              },
+              "name": {
+                "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names",
+                "type": "string"
+              },
+              "uid": {
+                "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids",
+                "type": "string"
+              }
+            },
+            "required": [
+              "apiVersion",
+              "kind",
+              "name",
+              "uid"
+            ],
+            "type": [
+              "object",
+              "null"
+            ],
+            "x-kubernetes-map-type": "atomic",
+            "additionalProperties": false
+          },
+          "type": [
+            "array",
+            "null"
+          ],
+          "x-kubernetes-list-map-keys": [
+            "uid"
+          ],
+          "x-kubernetes-list-type": "map",
+          "x-kubernetes-patch-merge-key": "uid",
+          "x-kubernetes-patch-strategy": "merge"
+        },
+        "resourceVersion": {
+          "description": "An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Value must be treate [...]
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "selfLink": {
+          "description": "Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "uid": {
+          "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids",
+          "type": [
+            "string",
+            "null"
+          ]
+        }
+      },
+      "type": [
+        "object",
+        "null"
+      ],
+      "additionalProperties": false
+    },
+    "rules": {
+      "description": "Rules holds all the PolicyRules for this ClusterRole",
+      "items": {
+        "description": "PolicyRule holds information that describes a policy rule, but does not contain information about who the rule applies to or which namespace the rule applies to.",
+        "properties": {
+          "apiGroups": {
+            "description": "APIGroups is the name of the APIGroup that contains the resources.  If multiple API groups are specified, any action requested against one of the enumerated resources in any API group will be allowed. \"\" represents the core API group and \"*\" represents all API groups.",
+            "items": {
+              "type": [
+                "string",
+                "null"
+              ]
+            },
+            "type": [
+              "array",
+              "null"
+            ],
+            "x-kubernetes-list-type": "atomic"
+          },
+          "nonResourceURLs": {
+            "description": "NonResourceURLs is a set of partial urls that a user should have access to.  *s are allowed, but only as the full, final step in the path Since non-resource URLs are not namespaced, this field is only applicable for ClusterRoles referenced from a ClusterRoleBinding. Rules can either apply to API resources (such as \"pods\" or \"secrets\") or non-resource URL paths (such as \"/api\"),  but not both.",
+            "items": {
+              "type": [
+                "string",
+                "null"
+              ]
+            },
+            "type": [
+              "array",
+              "null"
+            ],
+            "x-kubernetes-list-type": "atomic"
+          },
+          "resourceNames": {
+            "description": "ResourceNames is an optional white list of names that the rule applies to.  An empty set means that everything is allowed.",
+            "items": {
+              "type": [
+                "string",
+                "null"
+              ]
+            },
+            "type": [
+              "array",
+              "null"
+            ],
+            "x-kubernetes-list-type": "atomic"
+          },
+          "resources": {
+            "description": "Resources is a list of resources this rule applies to. '*' represents all resources.",
+            "items": {
+              "type": [
+                "string",
+                "null"
+              ]
+            },
+            "type": [
+              "array",
+              "null"
+            ],
+            "x-kubernetes-list-type": "atomic"
+          },
+          "verbs": {
+            "description": "Verbs is a list of Verbs that apply to ALL the ResourceKinds contained in this rule. '*' represents all verbs.",
+            "items": {
+              "type": [
+                "string",
+                "null"
+              ]
+            },
+            "type": "array",
+            "x-kubernetes-list-type": "atomic"
+          }
+        },
+        "required": [
+          "verbs"
+        ],
+        "type": [
+          "object",
+          "null"
+        ],
+        "additionalProperties": false
+      },
+      "type": [
+        "array",
+        "null"
+      ],
+      "x-kubernetes-list-type": "atomic"
+    }
+  },
+  "type": "object",
+  "x-kubernetes-group-version-kind": [
+    {
+      "group": "rbac.authorization.k8s.io",
+      "kind": "ClusterRole",
+      "version": "v1"
+    }
+  ],
+  "additionalProperties": false,
+  "$schema": "http://json-schema.org/schema#"
+}
\ No newline at end of file
diff --git a/k8s-schemas/v1.32.11-standalone-strict/clusterrolebinding-rbac-v1.json b/k8s-schemas/v1.32.11-standalone-strict/clusterrolebinding-rbac-v1.json
new file mode 100644
index 0000000000..c3734c3507
--- /dev/null
+++ b/k8s-schemas/v1.32.11-standalone-strict/clusterrolebinding-rbac-v1.json
@@ -0,0 +1,364 @@
+{
+  "description": "ClusterRoleBinding references a ClusterRole, but not contain it.  It can reference a ClusterRole in the global namespace, and adds who information via Subject.",
+  "properties": {
+    "apiVersion": {
+      "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
+      "type": [
+        "string",
+        "null"
+      ],
+      "enum": [
+        "rbac.authorization.k8s.io/v1"
+      ]
+    },
+    "kind": {
+      "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+      "type": [
+        "string",
+        "null"
+      ],
+      "enum": [
+        "ClusterRoleBinding"
+      ]
+    },
+    "metadata": {
+      "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.",
+      "properties": {
+        "annotations": {
+          "additionalProperties": {
+            "type": [
+              "string",
+              "null"
+            ]
+          },
+          "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations",
+          "type": [
+            "object",
+            "null"
+          ]
+        },
+        "creationTimestamp": {
+          "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
+          "format": "date-time",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "deletionGracePeriodSeconds": {
+          "description": "Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.",
+          "format": "int64",
+          "type": [
+            "integer",
+            "null"
+          ]
+        },
+        "deletionTimestamp": {
+          "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
+          "format": "date-time",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "finalizers": {
+          "description": "Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order.  Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If [...]
+          "items": {
+            "type": [
+              "string",
+              "null"
+            ]
+          },
+          "type": [
+            "array",
+            "null"
+          ],
+          "x-kubernetes-list-type": "set",
+          "x-kubernetes-patch-strategy": "merge"
+        },
+        "generateName": {
+          "description": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is sp [...]
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "generation": {
+          "description": "A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.",
+          "format": "int64",
+          "type": [
+            "integer",
+            "null"
+          ]
+        },
+        "labels": {
+          "additionalProperties": {
+            "type": [
+              "string",
+              "null"
+            ]
+          },
+          "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels",
+          "type": [
+            "object",
+            "null"
+          ]
+        },
+        "managedFields": {
+          "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.",
+          "items": {
+            "description": "ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to.",
+            "properties": {
+              "apiVersion": {
+                "description": "APIVersion defines the version of this resource that this field set applies to. The format is \"group/version\" just like the top-level APIVersion field. It is necessary to track the version of a field set because it cannot be automatically converted.",
+                "type": [
+                  "string",
+                  "null"
+                ]
+              },
+              "fieldsType": {
+                "description": "FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: \"FieldsV1\"",
+                "type": [
+                  "string",
+                  "null"
+                ]
+              },
+              "fieldsV1": {
+                "description": "FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format.\n\nEach key is either a '.' representing the field itself, and will always map to an empty set, or a string representing a sub-field or item. The string will follow one of these four formats: 'f:<name>', where <name> is the name of a field in a struct, or key in a map 'v:<value>', where <value> is the exact json formatted value of a list item 'i:<index>', where <index> is posi [...]
+                "type": [
+                  "object",
+                  "null"
+                ]
+              },
+              "manager": {
+                "description": "Manager is an identifier of the workflow managing these fields.",
+                "type": [
+                  "string",
+                  "null"
+                ]
+              },
+              "operation": {
+                "description": "Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'.",
+                "type": [
+                  "string",
+                  "null"
+                ]
+              },
+              "subresource": {
+                "description": "Subresource is the name of the subresource used to update that object, or empty string if the object was updated through the main resource. The value of this field is used to distinguish between managers, even if they share the same name. For example, a status update will be distinct from a regular update using the same manager name. Note that the APIVersion field is not related to the Subresource field and it always corresponds to the version of the main  [...]
+                "type": [
+                  "string",
+                  "null"
+                ]
+              },
+              "time": {
+                "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
+                "format": "date-time",
+                "type": [
+                  "string",
+                  "null"
+                ]
+              }
+            },
+            "type": [
+              "object",
+              "null"
+            ],
+            "additionalProperties": false
+          },
+          "type": [
+            "array",
+            "null"
+          ],
+          "x-kubernetes-list-type": "atomic"
+        },
+        "name": {
+          "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "namespace": {
+          "description": "Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "ownerReferences": {
+          "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.",
+          "items": {
+            "description": "OwnerReference contains enough information to let you identify an owning object. An owning object must be in the same namespace as the dependent, or be cluster-scoped, so there is no namespace field.",
+            "properties": {
+              "apiVersion": {
+                "description": "API version of the referent.",
+                "type": "string"
+              },
+              "blockOwnerDeletion": {
+                "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion for how the garbage collector interacts with this field and enforces the foreground deletion. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessabl [...]
+                "type": [
+                  "boolean",
+                  "null"
+                ]
+              },
+              "controller": {
+                "description": "If true, this reference points to the managing controller.",
+                "type": [
+                  "boolean",
+                  "null"
+                ]
+              },
+              "kind": {
+                "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+                "type": "string"
+              },
+              "name": {
+                "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names",
+                "type": "string"
+              },
+              "uid": {
+                "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids",
+                "type": "string"
+              }
+            },
+            "required": [
+              "apiVersion",
+              "kind",
+              "name",
+              "uid"
+            ],
+            "type": [
+              "object",
+              "null"
+            ],
+            "x-kubernetes-map-type": "atomic",
+            "additionalProperties": false
+          },
+          "type": [
+            "array",
+            "null"
+          ],
+          "x-kubernetes-list-map-keys": [
+            "uid"
+          ],
+          "x-kubernetes-list-type": "map",
+          "x-kubernetes-patch-merge-key": "uid",
+          "x-kubernetes-patch-strategy": "merge"
+        },
+        "resourceVersion": {
+          "description": "An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Value must be treate [...]
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "selfLink": {
+          "description": "Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "uid": {
+          "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids",
+          "type": [
+            "string",
+            "null"
+          ]
+        }
+      },
+      "type": [
+        "object",
+        "null"
+      ],
+      "additionalProperties": false
+    },
+    "roleRef": {
+      "description": "RoleRef contains information that points to the role being used",
+      "properties": {
+        "apiGroup": {
+          "description": "APIGroup is the group for the resource being referenced",
+          "type": "string"
+        },
+        "kind": {
+          "description": "Kind is the type of resource being referenced",
+          "type": "string"
+        },
+        "name": {
+          "description": "Name is the name of resource being referenced",
+          "type": "string"
+        }
+      },
+      "required": [
+        "apiGroup",
+        "kind",
+        "name"
+      ],
+      "type": [
+        "object",
+        "null"
+      ],
+      "x-kubernetes-map-type": "atomic",
+      "additionalProperties": false
+    },
+    "subjects": {
+      "description": "Subjects holds references to the objects the role applies to.",
+      "items": {
+        "description": "Subject contains a reference to the object or user identities a role binding applies to.  This can either hold a direct API object reference, or a value for non-objects such as user and group names.",
+        "properties": {
+          "apiGroup": {
+            "description": "APIGroup holds the API group of the referenced subject. Defaults to \"\" for ServiceAccount subjects. Defaults to \"rbac.authorization.k8s.io\" for User and Group subjects.",
+            "type": [
+              "string",
+              "null"
+            ]
+          },
+          "kind": {
+            "description": "Kind of object being referenced. Values defined by this API group are \"User\", \"Group\", and \"ServiceAccount\". If the Authorizer does not recognized the kind value, the Authorizer should report an error.",
+            "type": "string"
+          },
+          "name": {
+            "description": "Name of the object being referenced.",
+            "type": "string"
+          },
+          "namespace": {
+            "description": "Namespace of the referenced object.  If the object kind is non-namespace, such as \"User\" or \"Group\", and this value is not empty the Authorizer should report an error.",
+            "type": [
+              "string",
+              "null"
+            ]
+          }
+        },
+        "required": [
+          "kind",
+          "name"
+        ],
+        "type": [
+          "object",
+          "null"
+        ],
+        "x-kubernetes-map-type": "atomic",
+        "additionalProperties": false
+      },
+      "type": [
+        "array",
+        "null"
+      ],
+      "x-kubernetes-list-type": "atomic"
+    }
+  },
+  "required": [
+    "roleRef"
+  ],
+  "type": "object",
+  "x-kubernetes-group-version-kind": [
+    {
+      "group": "rbac.authorization.k8s.io",
+      "kind": "ClusterRoleBinding",
+      "version": "v1"
+    }
+  ],
+  "additionalProperties": false,
+  "$schema": "http://json-schema.org/schema#"
+}
\ No newline at end of file
diff --git a/k8s-schemas/v1.32.11-standalone-strict/configmap-v1.json b/k8s-schemas/v1.32.11-standalone-strict/configmap-v1.json
new file mode 100644
index 0000000000..fd830aaa1f
--- /dev/null
+++ b/k8s-schemas/v1.32.11-standalone-strict/configmap-v1.json
@@ -0,0 +1,322 @@
+{
+  "description": "ConfigMap holds configuration data for pods to consume.",
+  "properties": {
+    "apiVersion": {
+      "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
+      "type": [
+        "string",
+        "null"
+      ],
+      "enum": [
+        "v1"
+      ]
+    },
+    "binaryData": {
+      "additionalProperties": {
+        "format": "byte",
+        "type": [
+          "string",
+          "null"
+        ]
+      },
+      "description": "BinaryData contains the binary data. Each key must consist of alphanumeric characters, '-', '_' or '.'. BinaryData can contain byte sequences that are not in the UTF-8 range. The keys stored in BinaryData must not overlap with the ones in the Data field, this is enforced during validation process. Using this field will require 1.10+ apiserver and kubelet.",
+      "type": [
+        "object",
+        "null"
+      ]
+    },
+    "data": {
+      "additionalProperties": {
+        "type": [
+          "string",
+          "null"
+        ]
+      },
+      "description": "Data contains the configuration data. Each key must consist of alphanumeric characters, '-', '_' or '.'. Values with non-UTF-8 byte sequences must use the BinaryData field. The keys stored in Data must not overlap with the keys in the BinaryData field, this is enforced during validation process.",
+      "type": [
+        "object",
+        "null"
+      ]
+    },
+    "immutable": {
+      "description": "Immutable, if set to true, ensures that data stored in the ConfigMap cannot be updated (only object metadata can be modified). If not set to true, the field can be modified at any time. Defaulted to nil.",
+      "type": [
+        "boolean",
+        "null"
+      ]
+    },
+    "kind": {
+      "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+      "type": [
+        "string",
+        "null"
+      ],
+      "enum": [
+        "ConfigMap"
+      ]
+    },
+    "metadata": {
+      "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.",
+      "properties": {
+        "annotations": {
+          "additionalProperties": {
+            "type": [
+              "string",
+              "null"
+            ]
+          },
+          "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations",
+          "type": [
+            "object",
+            "null"
+          ]
+        },
+        "creationTimestamp": {
+          "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
+          "format": "date-time",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "deletionGracePeriodSeconds": {
+          "description": "Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.",
+          "format": "int64",
+          "type": [
+            "integer",
+            "null"
+          ]
+        },
+        "deletionTimestamp": {
+          "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
+          "format": "date-time",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "finalizers": {
+          "description": "Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order.  Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If [...]
+          "items": {
+            "type": [
+              "string",
+              "null"
+            ]
+          },
+          "type": [
+            "array",
+            "null"
+          ],
+          "x-kubernetes-list-type": "set",
+          "x-kubernetes-patch-strategy": "merge"
+        },
+        "generateName": {
+          "description": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is sp [...]
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "generation": {
+          "description": "A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.",
+          "format": "int64",
+          "type": [
+            "integer",
+            "null"
+          ]
+        },
+        "labels": {
+          "additionalProperties": {
+            "type": [
+              "string",
+              "null"
+            ]
+          },
+          "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels",
+          "type": [
+            "object",
+            "null"
+          ]
+        },
+        "managedFields": {
+          "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.",
+          "items": {
+            "description": "ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to.",
+            "properties": {
+              "apiVersion": {
+                "description": "APIVersion defines the version of this resource that this field set applies to. The format is \"group/version\" just like the top-level APIVersion field. It is necessary to track the version of a field set because it cannot be automatically converted.",
+                "type": [
+                  "string",
+                  "null"
+                ]
+              },
+              "fieldsType": {
+                "description": "FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: \"FieldsV1\"",
+                "type": [
+                  "string",
+                  "null"
+                ]
+              },
+              "fieldsV1": {
+                "description": "FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format.\n\nEach key is either a '.' representing the field itself, and will always map to an empty set, or a string representing a sub-field or item. The string will follow one of these four formats: 'f:<name>', where <name> is the name of a field in a struct, or key in a map 'v:<value>', where <value> is the exact json formatted value of a list item 'i:<index>', where <index> is posi [...]
+                "type": [
+                  "object",
+                  "null"
+                ]
+              },
+              "manager": {
+                "description": "Manager is an identifier of the workflow managing these fields.",
+                "type": [
+                  "string",
+                  "null"
+                ]
+              },
+              "operation": {
+                "description": "Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'.",
+                "type": [
+                  "string",
+                  "null"
+                ]
+              },
+              "subresource": {
+                "description": "Subresource is the name of the subresource used to update that object, or empty string if the object was updated through the main resource. The value of this field is used to distinguish between managers, even if they share the same name. For example, a status update will be distinct from a regular update using the same manager name. Note that the APIVersion field is not related to the Subresource field and it always corresponds to the version of the main  [...]
+                "type": [
+                  "string",
+                  "null"
+                ]
+              },
+              "time": {
+                "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
+                "format": "date-time",
+                "type": [
+                  "string",
+                  "null"
+                ]
+              }
+            },
+            "type": [
+              "object",
+              "null"
+            ],
+            "additionalProperties": false
+          },
+          "type": [
+            "array",
+            "null"
+          ],
+          "x-kubernetes-list-type": "atomic"
+        },
+        "name": {
+          "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "namespace": {
+          "description": "Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "ownerReferences": {
+          "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.",
+          "items": {
+            "description": "OwnerReference contains enough information to let you identify an owning object. An owning object must be in the same namespace as the dependent, or be cluster-scoped, so there is no namespace field.",
+            "properties": {
+              "apiVersion": {
+                "description": "API version of the referent.",
+                "type": "string"
+              },
+              "blockOwnerDeletion": {
+                "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion for how the garbage collector interacts with this field and enforces the foreground deletion. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessabl [...]
+                "type": [
+                  "boolean",
+                  "null"
+                ]
+              },
+              "controller": {
+                "description": "If true, this reference points to the managing controller.",
+                "type": [
+                  "boolean",
+                  "null"
+                ]
+              },
+              "kind": {
+                "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+                "type": "string"
+              },
+              "name": {
+                "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names",
+                "type": "string"
+              },
+              "uid": {
+                "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids",
+                "type": "string"
+              }
+            },
+            "required": [
+              "apiVersion",
+              "kind",
+              "name",
+              "uid"
+            ],
+            "type": [
+              "object",
+              "null"
+            ],
+            "x-kubernetes-map-type": "atomic",
+            "additionalProperties": false
+          },
+          "type": [
+            "array",
+            "null"
+          ],
+          "x-kubernetes-list-map-keys": [
+            "uid"
+          ],
+          "x-kubernetes-list-type": "map",
+          "x-kubernetes-patch-merge-key": "uid",
+          "x-kubernetes-patch-strategy": "merge"
+        },
+        "resourceVersion": {
+          "description": "An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Value must be treate [...]
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "selfLink": {
+          "description": "Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "uid": {
+          "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids",
+          "type": [
+            "string",
+            "null"
+          ]
+        }
+      },
+      "type": [
+        "object",
+        "null"
+      ],
+      "additionalProperties": false
+    }
+  },
+  "type": "object",
+  "x-kubernetes-group-version-kind": [
+    {
+      "group": "",
+      "kind": "ConfigMap",
+      "version": "v1"
+    }
+  ],
+  "additionalProperties": false,
+  "$schema": "http://json-schema.org/schema#"
+}
\ No newline at end of file
diff --git a/k8s-schemas/v1.32.11-standalone-strict/cronjob-batch-v1.json b/k8s-schemas/v1.32.11-standalone-strict/cronjob-batch-v1.json
new file mode 100644
index 0000000000..d4348ca172
--- /dev/null
+++ b/k8s-schemas/v1.32.11-standalone-strict/cronjob-batch-v1.json
@@ -0,0 +1,11510 @@
+{
+  "description": "CronJob represents the configuration of a single cron job.",
+  "properties": {
+    "apiVersion": {
+      "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
+      "type": [
+        "string",
+        "null"
+      ],
+      "enum": [
+        "batch/v1"
+      ]
+    },
+    "kind": {
+      "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+      "type": [
+        "string",
+        "null"
+      ],
+      "enum": [
+        "CronJob"
+      ]
+    },
+    "metadata": {
+      "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.",
+      "properties": {
+        "annotations": {
+          "additionalProperties": {
+            "type": [
+              "string",
+              "null"
+            ]
+          },
+          "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations",
+          "type": [
+            "object",
+            "null"
+          ]
+        },
+        "creationTimestamp": {
+          "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
+          "format": "date-time",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "deletionGracePeriodSeconds": {
+          "description": "Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.",
+          "format": "int64",
+          "type": [
+            "integer",
+            "null"
+          ]
+        },
+        "deletionTimestamp": {
+          "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
+          "format": "date-time",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "finalizers": {
+          "description": "Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order.  Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If [...]
+          "items": {
+            "type": [
+              "string",
+              "null"
+            ]
+          },
+          "type": [
+            "array",
+            "null"
+          ],
+          "x-kubernetes-list-type": "set",
+          "x-kubernetes-patch-strategy": "merge"
+        },
+        "generateName": {
+          "description": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is sp [...]
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "generation": {
+          "description": "A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.",
+          "format": "int64",
+          "type": [
+            "integer",
+            "null"
+          ]
+        },
+        "labels": {
+          "additionalProperties": {
+            "type": [
+              "string",
+              "null"
+            ]
+          },
+          "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels",
+          "type": [
+            "object",
+            "null"
+          ]
+        },
+        "managedFields": {
+          "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.",
+          "items": {
+            "description": "ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to.",
+            "properties": {
+              "apiVersion": {
+                "description": "APIVersion defines the version of this resource that this field set applies to. The format is \"group/version\" just like the top-level APIVersion field. It is necessary to track the version of a field set because it cannot be automatically converted.",
+                "type": [
+                  "string",
+                  "null"
+                ]
+              },
+              "fieldsType": {
+                "description": "FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: \"FieldsV1\"",
+                "type": [
+                  "string",
+                  "null"
+                ]
+              },
+              "fieldsV1": {
+                "description": "FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format.\n\nEach key is either a '.' representing the field itself, and will always map to an empty set, or a string representing a sub-field or item. The string will follow one of these four formats: 'f:<name>', where <name> is the name of a field in a struct, or key in a map 'v:<value>', where <value> is the exact json formatted value of a list item 'i:<index>', where <index> is posi [...]
+                "type": [
+                  "object",
+                  "null"
+                ]
+              },
+              "manager": {
+                "description": "Manager is an identifier of the workflow managing these fields.",
+                "type": [
+                  "string",
+                  "null"
+                ]
+              },
+              "operation": {
+                "description": "Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'.",
+                "type": [
+                  "string",
+                  "null"
+                ]
+              },
+              "subresource": {
+                "description": "Subresource is the name of the subresource used to update that object, or empty string if the object was updated through the main resource. The value of this field is used to distinguish between managers, even if they share the same name. For example, a status update will be distinct from a regular update using the same manager name. Note that the APIVersion field is not related to the Subresource field and it always corresponds to the version of the main  [...]
+                "type": [
+                  "string",
+                  "null"
+                ]
+              },
+              "time": {
+                "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
+                "format": "date-time",
+                "type": [
+                  "string",
+                  "null"
+                ]
+              }
+            },
+            "type": [
+              "object",
+              "null"
+            ],
+            "additionalProperties": false
+          },
+          "type": [
+            "array",
+            "null"
+          ],
+          "x-kubernetes-list-type": "atomic"
+        },
+        "name": {
+          "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "namespace": {
+          "description": "Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "ownerReferences": {
+          "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.",
+          "items": {
+            "description": "OwnerReference contains enough information to let you identify an owning object. An owning object must be in the same namespace as the dependent, or be cluster-scoped, so there is no namespace field.",
+            "properties": {
+              "apiVersion": {
+                "description": "API version of the referent.",
+                "type": "string"
+              },
+              "blockOwnerDeletion": {
+                "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion for how the garbage collector interacts with this field and enforces the foreground deletion. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessabl [...]
+                "type": [
+                  "boolean",
+                  "null"
+                ]
+              },
+              "controller": {
+                "description": "If true, this reference points to the managing controller.",
+                "type": [
+                  "boolean",
+                  "null"
+                ]
+              },
+              "kind": {
+                "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+                "type": "string"
+              },
+              "name": {
+                "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names",
+                "type": "string"
+              },
+              "uid": {
+                "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids",
+                "type": "string"
+              }
+            },
+            "required": [
+              "apiVersion",
+              "kind",
+              "name",
+              "uid"
+            ],
+            "type": [
+              "object",
+              "null"
+            ],
+            "x-kubernetes-map-type": "atomic",
+            "additionalProperties": false
+          },
+          "type": [
+            "array",
+            "null"
+          ],
+          "x-kubernetes-list-map-keys": [
+            "uid"
+          ],
+          "x-kubernetes-list-type": "map",
+          "x-kubernetes-patch-merge-key": "uid",
+          "x-kubernetes-patch-strategy": "merge"
+        },
+        "resourceVersion": {
+          "description": "An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Value must be treate [...]
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "selfLink": {
+          "description": "Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "uid": {
+          "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids",
+          "type": [
+            "string",
+            "null"
+          ]
+        }
+      },
+      "type": [
+        "object",
+        "null"
+      ],
+      "additionalProperties": false
+    },
+    "spec": {
+      "description": "CronJobSpec describes how the job execution will look like and when it will actually run.",
+      "properties": {
+        "concurrencyPolicy": {
+          "description": "Specifies how to treat concurrent executions of a Job. Valid values are:\n\n- \"Allow\" (default): allows CronJobs to run concurrently; - \"Forbid\": forbids concurrent runs, skipping next run if previous run hasn't finished yet; - \"Replace\": cancels currently running job and replaces it with a new one",
+          "type": [
+            "string",
+            "null"
+          ]
+        },
+        "failedJobsHistoryLimit": {
+          "description": "The number of failed finished jobs to retain. Value must be non-negative integer. Defaults to 1.",
+          "format": "int32",
+          "type": [
+            "integer",
+            "null"
+          ]
+        },
+        "jobTemplate": {
+          "description": "JobTemplateSpec describes the data a Job should have when created from a template",
+          "properties": {
+            "metadata": {
+              "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.",
+              "properties": {
+                "annotations": {
+                  "additionalProperties": {
+                    "type": [
+                      "string",
+                      "null"
+                    ]
+                  },
+                  "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations",
+                  "type": [
+                    "object",
+                    "null"
+                  ]
+                },
+                "creationTimestamp": {
+                  "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
+                  "format": "date-time",
+                  "type": [
+                    "string",
+                    "null"
+                  ]
+                },
+                "deletionGracePeriodSeconds": {
+                  "description": "Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.",
+                  "format": "int64",
+                  "type": [
+                    "integer",
+                    "null"
+                  ]
+                },
+                "deletionTimestamp": {
+                  "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
+                  "format": "date-time",
+                  "type": [
+                    "string",
+                    "null"
+                  ]
+                },
+                "finalizers": {
+                  "description": "Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order.  Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorde [...]
+                  "items": {
+                    "type": [
+                      "string",
+                      "null"
+                    ]
+                  },
+                  "type": [
+                    "array",
+                    "null"
+                  ],
+                  "x-kubernetes-list-type": "set",
+                  "x-kubernetes-patch-strategy": "merge"
+                },
+                "generateName": {
+                  "description": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this fie [...]
+                  "type": [
+                    "string",
+                    "null"
+                  ]
+                },
+                "generation": {
+                  "description": "A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.",
+                  "format": "int64",
+                  "type": [
+                    "integer",
+                    "null"
+                  ]
+                },
+                "labels": {
+                  "additionalProperties": {
+                    "type": [
+                      "string",
+                      "null"
+                    ]
+                  },
+                  "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels",
+                  "type": [
+                    "object",
+                    "null"
+                  ]
+                },
+                "managedFields": {
+                  "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.",
+                  "items": {
+                    "description": "ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to.",
+                    "properties": {
+                      "apiVersion": {
+                        "description": "APIVersion defines the version of this resource that this field set applies to. The format is \"group/version\" just like the top-level APIVersion field. It is necessary to track the version of a field set because it cannot be automatically converted.",
+                        "type": [
+                          "string",
+                          "null"
+                        ]
+                      },
+                      "fieldsType": {
+                        "description": "FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: \"FieldsV1\"",
+                        "type": [
+                          "string",
+                          "null"
+                        ]
+                      },
+                      "fieldsV1": {
+                        "description": "FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format.\n\nEach key is either a '.' representing the field itself, and will always map to an empty set, or a string representing a sub-field or item. The string will follow one of these four formats: 'f:<name>', where <name> is the name of a field in a struct, or key in a map 'v:<value>', where <value> is the exact json formatted value of a list item 'i:<index>', where <index> [...]
+                        "type": [
+                          "object",
+                          "null"
+                        ]
+                      },
+                      "manager": {
+                        "description": "Manager is an identifier of the workflow managing these fields.",
+                        "type": [
+                          "string",
+                          "null"
+                        ]
+                      },
+                      "operation": {
+                        "description": "Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'.",
+                        "type": [
+                          "string",
+                          "null"
+                        ]
+                      },
+                      "subresource": {
+                        "description": "Subresource is the name of the subresource used to update that object, or empty string if the object was updated through the main resource. The value of this field is used to distinguish between managers, even if they share the same name. For example, a status update will be distinct from a regular update using the same manager name. Note that the APIVersion field is not related to the Subresource field and it always corresponds to the version of t [...]
+                        "type": [
+                          "string",
+                          "null"
+                        ]
+                      },
+                      "time": {
+                        "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
+                        "format": "date-time",
+                        "type": [
+                          "string",
+                          "null"
+                        ]
+                      }
+                    },
+                    "type": [
+                      "object",
+                      "null"
+                    ],
+                    "additionalProperties": false
+                  },
+                  "type": [
+                    "array",
+                    "null"
+                  ],
+                  "x-kubernetes-list-type": "atomic"
+                },
+                "name": {
+                  "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names",
+                  "type": [
+                    "string",
+                    "null"
+                  ]
+                },
+                "namespace": {
+                  "description": "Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces",
+                  "type": [
+                    "string",
+                    "null"
+                  ]
+                },
+                "ownerReferences": {
+                  "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.",
+                  "items": {
+                    "description": "OwnerReference contains enough information to let you identify an owning object. An owning object must be in the same namespace as the dependent, or be cluster-scoped, so there is no namespace field.",
+                    "properties": {
+                      "apiVersion": {
+                        "description": "API version of the referent.",
+                        "type": "string"
+                      },
+                      "blockOwnerDeletion": {
+                        "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion for how the garbage collector interacts with this field and enforces the foreground deletion. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unpr [...]
+                        "type": [
+                          "boolean",
+                          "null"
+                        ]
+                      },
+                      "controller": {
+                        "description": "If true, this reference points to the managing controller.",
+                        "type": [
+                          "boolean",
+                          "null"
+                        ]
+                      },
+                      "kind": {
+                        "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+                        "type": "string"
+                      },
+                      "name": {
+                        "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names",
+                        "type": "string"
+                      },
+                      "uid": {
+                        "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids",
+                        "type": "string"
+                      }
+                    },
+                    "required": [
+                      "apiVersion",
+                      "kind",
+                      "name",
+                      "uid"
+                    ],
+                    "type": [
+                      "object",
+                      "null"
+                    ],
+                    "x-kubernetes-map-type": "atomic",
+                    "additionalProperties": false
+                  },
+                  "type": [
+                    "array",
+                    "null"
+                  ],
+                  "x-kubernetes-list-map-keys": [
+                    "uid"
+                  ],
+                  "x-kubernetes-list-type": "map",
+                  "x-kubernetes-patch-merge-key": "uid",
+                  "x-kubernetes-patch-strategy": "merge"
+                },
+                "resourceVersion": {
+                  "description": "An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Value must b [...]
+                  "type": [
+                    "string",
+                    "null"
+                  ]
+                },
+                "selfLink": {
+                  "description": "Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.",
+                  "type": [
+                    "string",
+                    "null"
+                  ]
+                },
+                "uid": {
+                  "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids",
+                  "type": [
+                    "string",
+                    "null"
+                  ]
+                }
+              },
+              "type": [
+                "object",
+                "null"
+              ],
+              "additionalProperties": false
+            },
+            "spec": {
+              "description": "JobSpec describes how the job execution will look like.",
+              "properties": {
+                "activeDeadlineSeconds": {
+                  "description": "Specifies the duration in seconds relative to the startTime that the job may be continuously active before the system tries to terminate it; value must be positive integer. If a Job is suspended (at creation or through an update), this timer will effectively be stopped and reset when the Job is resumed again.",
+                  "format": "int64",
+                  "type": [
+                    "integer",
+                    "null"
+                  ]
+                },
+                "backoffLimit": {
+                  "description": "Specifies the number of retries before marking this job failed. Defaults to 6",
+                  "format": "int32",
+                  "type": [
+                    "integer",
+                    "null"
+                  ]
+                },
+                "backoffLimitPerIndex": {
+                  "description": "Specifies the limit for the number of retries within an index before marking this index as failed. When enabled the number of failures per index is kept in the pod's batch.kubernetes.io/job-index-failure-count annotation. It can only be set when Job's completionMode=Indexed, and the Pod's restart policy is Never. The field is immutable. This field is beta-level. It can be used when the `JobBackoffLimitPerIndex` feature gate is enabled (enabled by default).",
+                  "format": "int32",
+                  "type": [
+                    "integer",
+                    "null"
+                  ]
+                },
+                "completionMode": {
+                  "description": "completionMode specifies how Pod completions are tracked. It can be `NonIndexed` (default) or `Indexed`.\n\n`NonIndexed` means that the Job is considered complete when there have been .spec.completions successfully completed Pods. Each Pod completion is homologous to each other.\n\n`Indexed` means that the Pods of a Job get an associated completion index from 0 to (.spec.completions - 1), available in the annotation batch.kubernetes.io/job-completion-ind [...]
+                  "type": [
+                    "string",
+                    "null"
+                  ]
+                },
+                "completions": {
+                  "description": "Specifies the desired number of successfully finished pods the job should be run with.  Setting to null means that the success of any pod signals the success of all pods, and allows parallelism to have any positive value.  Setting to 1 means that parallelism is limited to 1 and the success of that pod signals the success of the job. More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/",
+                  "format": "int32",
+                  "type": [
+                    "integer",
+                    "null"
+                  ]
+                },
+                "managedBy": {
+                  "description": "ManagedBy field indicates the controller that manages a Job. The k8s Job controller reconciles jobs which don't have this field at all or the field value is the reserved string `kubernetes.io/job-controller`, but skips reconciling Jobs with a custom value for this field. The value must be a valid domain-prefixed path (e.g. acme.io/foo) - all characters before the first \"/\" must be a valid subdomain as defined by RFC 1123. All characters trailing the fi [...]
+                  "type": [
+                    "string",
+                    "null"
+                  ]
+                },
+                "manualSelector": {
+                  "description": "manualSelector controls generation of pod labels and pod selectors. Leave `manualSelector` unset unless you are certain what you are doing. When false or unset, the system pick labels unique to this job and appends those labels to the pod template.  When true, the user is responsible for picking unique labels and specifying the selector.  Failure to pick a unique label may cause this and other jobs to not function correctly.  However, You may see `manual [...]
+                  "type": [
+                    "boolean",
+                    "null"
+                  ]
+                },
+                "maxFailedIndexes": {
+                  "description": "Specifies the maximal number of failed indexes before marking the Job as failed, when backoffLimitPerIndex is set. Once the number of failed indexes exceeds this number the entire Job is marked as Failed and its execution is terminated. When left as null the job continues execution of all of its indexes and is marked with the `Complete` Job condition. It can only be specified when backoffLimitPerIndex is set. It can be null or up to completions. It is re [...]
+                  "format": "int32",
+                  "type": [
+                    "integer",
+                    "null"
+                  ]
+                },
+                "parallelism": {
+                  "description": "Specifies the maximum desired number of pods the job should run at any given time. The actual number of pods running in steady state will be less than this number when ((.spec.completions - .status.successful) < .spec.parallelism), i.e. when the work left to do is less than max parallelism. More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/",
+                  "format": "int32",
+                  "type": [
+                    "integer",
+                    "null"
+                  ]
+                },
+                "podFailurePolicy": {
+                  "description": "PodFailurePolicy describes how failed pods influence the backoffLimit.",
+                  "properties": {
+                    "rules": {
+                      "description": "A list of pod failure policy rules. The rules are evaluated in order. Once a rule matches a Pod failure, the remaining of the rules are ignored. When no rule matches the Pod failure, the default handling applies - the counter of pod failures is incremented and it is checked against the backoffLimit. At most 20 elements are allowed.",
+                      "items": {
+                        "description": "PodFailurePolicyRule describes how a pod failure is handled when the requirements are met. One of onExitCodes and onPodConditions, but not both, can be used in each rule.",
+                        "properties": {
+                          "action": {
+                            "description": "Specifies the action taken on a pod failure when the requirements are satisfied. Possible values are:\n\n- FailJob: indicates that the pod's job is marked as Failed and all\n  running pods are terminated.\n- FailIndex: indicates that the pod's index is marked as Failed and will\n  not be restarted.\n  This value is beta-level. It can be used when the\n  `JobBackoffLimitPerIndex` feature gate is enabled (enabled by default).\n- Ignore: indicates [...]
+                            "type": "string"
+                          },
+                          "onExitCodes": {
+                            "description": "PodFailurePolicyOnExitCodesRequirement describes the requirement for handling a failed pod based on its container exit codes. In particular, it lookups the .state.terminated.exitCode for each app container and init container status, represented by the .status.containerStatuses and .status.initContainerStatuses fields in the Pod status, respectively. Containers completed with success (exit code 0) are excluded from the requirement check.",
+                            "properties": {
+                              "containerName": {
+                                "description": "Restricts the check for exit codes to the container with the specified name. When null, the rule applies to all containers. When specified, it should match one the container or initContainer names in the pod template.",
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              },
+                              "operator": {
+                                "description": "Represents the relationship between the container exit code(s) and the specified values. Containers completed with success (exit code 0) are excluded from the requirement check. Possible values are:\n\n- In: the requirement is satisfied if at least one container exit code\n  (might be multiple if there are multiple containers not restricted\n  by the 'containerName' field) is in the set of specified values.\n- NotIn: the requirement is sati [...]
+                                "type": "string"
+                              },
+                              "values": {
+                                "description": "Specifies the set of values. Each returned container exit code (might be multiple in case of multiple containers) is checked against this set of values with respect to the operator. The list of values must be ordered and must not contain duplicates. Value '0' cannot be used for the In operator. At least one element is required. At most 255 elements are allowed.",
+                                "items": {
+                                  "format": "int32",
+                                  "type": [
+                                    "integer",
+                                    "null"
+                                  ]
+                                },
+                                "type": "array",
+                                "x-kubernetes-list-type": "set"
+                              }
+                            },
+                            "required": [
+                              "operator",
+                              "values"
+                            ],
+                            "type": [
+                              "object",
+                              "null"
+                            ],
+                            "additionalProperties": false
+                          },
+                          "onPodConditions": {
+                            "description": "Represents the requirement on the pod conditions. The requirement is represented as a list of pod condition patterns. The requirement is satisfied if at least one pattern matches an actual pod condition. At most 20 elements are allowed.",
+                            "items": {
+                              "description": "PodFailurePolicyOnPodConditionsPattern describes a pattern for matching an actual pod condition type.",
+                              "properties": {
+                                "status": {
+                                  "description": "Specifies the required Pod condition status. To match a pod condition it is required that the specified status equals the pod condition status. Defaults to True.",
+                                  "type": "string"
+                                },
+                                "type": {
+                                  "description": "Specifies the required Pod condition type. To match a pod condition it is required that specified type equals the pod condition type.",
+                                  "type": "string"
+                                }
+                              },
+                              "required": [
+                                "type",
+                                "status"
+                              ],
+                              "type": [
+                                "object",
+                                "null"
+                              ],
+                              "additionalProperties": false
+                            },
+                            "type": [
+                              "array",
+                              "null"
+                            ],
+                            "x-kubernetes-list-type": "atomic"
+                          }
+                        },
+                        "required": [
+                          "action"
+                        ],
+                        "type": [
+                          "object",
+                          "null"
+                        ],
+                        "additionalProperties": false
+                      },
+                      "type": "array",
+                      "x-kubernetes-list-type": "atomic"
+                    }
+                  },
+                  "required": [
+                    "rules"
+                  ],
+                  "type": [
+                    "object",
+                    "null"
+                  ],
+                  "additionalProperties": false
+                },
+                "podReplacementPolicy": {
+                  "description": "podReplacementPolicy specifies when to create replacement Pods. Possible values are: - TerminatingOrFailed means that we recreate pods\n  when they are terminating (has a metadata.deletionTimestamp) or failed.\n- Failed means to wait until a previously created Pod is fully terminated (has phase\n  Failed or Succeeded) before creating a replacement Pod.\n\nWhen using podFailurePolicy, Failed is the the only allowed value. TerminatingOrFailed and Failed ar [...]
+                  "type": [
+                    "string",
+                    "null"
+                  ]
+                },
+                "selector": {
+                  "description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
+                  "properties": {
+                    "matchExpressions": {
+                      "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
+                      "items": {
+                        "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
+                        "properties": {
+                          "key": {
+                            "description": "key is the label key that the selector applies to.",
+                            "type": "string"
+                          },
+                          "operator": {
+                            "description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.",
+                            "type": "string"
+                          },
+                          "values": {
+                            "description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.",
+                            "items": {
+                              "type": [
+                                "string",
+                                "null"
+                              ]
+                            },
+                            "type": [
+                              "array",
+                              "null"
+                            ],
+                            "x-kubernetes-list-type": "atomic"
+                          }
+                        },
+                        "required": [
+                          "key",
+                          "operator"
+                        ],
+                        "type": [
+                          "object",
+                          "null"
+                        ],
+                        "additionalProperties": false
+                      },
+                      "type": [
+                        "array",
+                        "null"
+                      ],
+                      "x-kubernetes-list-type": "atomic"
+                    },
+                    "matchLabels": {
+                      "additionalProperties": {
+                        "type": [
+                          "string",
+                          "null"
+                        ]
+                      },
+                      "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
+                      "type": [
+                        "object",
+                        "null"
+                      ]
+                    }
+                  },
+                  "type": [
+                    "object",
+                    "null"
+                  ],
+                  "x-kubernetes-map-type": "atomic",
+                  "additionalProperties": false
+                },
+                "successPolicy": {
+                  "description": "SuccessPolicy describes when a Job can be declared as succeeded based on the success of some indexes.",
+                  "properties": {
+                    "rules": {
+                      "description": "rules represents the list of alternative rules for the declaring the Jobs as successful before `.status.succeeded >= .spec.completions`. Once any of the rules are met, the \"SucceededCriteriaMet\" condition is added, and the lingering pods are removed. The terminal state for such a Job has the \"Complete\" condition. Additionally, these rules are evaluated in order; Once the Job meets one of the rules, other rules are ignored. At most 20 elements are [...]
+                      "items": {
+                        "description": "SuccessPolicyRule describes rule for declaring a Job as succeeded. Each rule must have at least one of the \"succeededIndexes\" or \"succeededCount\" specified.",
+                        "properties": {
+                          "succeededCount": {
+                            "description": "succeededCount specifies the minimal required size of the actual set of the succeeded indexes for the Job. When succeededCount is used along with succeededIndexes, the check is constrained only to the set of indexes specified by succeededIndexes. For example, given that succeededIndexes is \"1-4\", succeededCount is \"3\", and completed indexes are \"1\", \"3\", and \"5\", the Job isn't declared as succeeded because only \"1\" and \"3\" indexes [...]
+                            "format": "int32",
+                            "type": [
+                              "integer",
+                              "null"
+                            ]
+                          },
+                          "succeededIndexes": {
+                            "description": "succeededIndexes specifies the set of indexes which need to be contained in the actual set of the succeeded indexes for the Job. The list of indexes must be within 0 to \".spec.completions-1\" and must not contain duplicates. At least one element is required. The indexes are represented as intervals separated by commas. The intervals can be a decimal integer or a pair of decimal integers separated by a hyphen. The number are listed in represent [...]
+                            "type": [
+                              "string",
+                              "null"
+                            ]
+                          }
+                        },
+                        "type": [
+                          "object",
+                          "null"
+                        ],
+                        "additionalProperties": false
+                      },
+                      "type": "array",
+                      "x-kubernetes-list-type": "atomic"
+                    }
+                  },
+                  "required": [
+                    "rules"
+                  ],
+                  "type": [
+                    "object",
+                    "null"
+                  ],
+                  "additionalProperties": false
+                },
+                "suspend": {
+                  "description": "suspend specifies whether the Job controller should create Pods or not. If a Job is created with suspend set to true, no Pods are created by the Job controller. If a Job is suspended after creation (i.e. the flag goes from false to true), the Job controller will delete all active Pods associated with this Job. Users must design their workload to gracefully handle this. Suspending a Job will reset the StartTime field of the Job, effectively resetting the  [...]
+                  "type": [
+                    "boolean",
+                    "null"
+                  ]
+                },
+                "template": {
+                  "description": "PodTemplateSpec describes the data a pod should have when created from a template",
+                  "properties": {
+                    "metadata": {
+                      "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.",
+                      "properties": {
+                        "annotations": {
+                          "additionalProperties": {
+                            "type": [
+                              "string",
+                              "null"
+                            ]
+                          },
+                          "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations",
+                          "type": [
+                            "object",
+                            "null"
+                          ]
+                        },
+                        "creationTimestamp": {
+                          "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
+                          "format": "date-time",
+                          "type": [
+                            "string",
+                            "null"
+                          ]
+                        },
+                        "deletionGracePeriodSeconds": {
+                          "description": "Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.",
+                          "format": "int64",
+                          "type": [
+                            "integer",
+                            "null"
+                          ]
+                        },
+                        "deletionTimestamp": {
+                          "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
+                          "format": "date-time",
+                          "type": [
+                            "string",
+                            "null"
+                          ]
+                        },
+                        "finalizers": {
+                          "description": "Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order.  Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission ca [...]
+                          "items": {
+                            "type": [
+                              "string",
+                              "null"
+                            ]
+                          },
+                          "type": [
+                            "array",
+                            "null"
+                          ],
+                          "x-kubernetes-list-type": "set",
+                          "x-kubernetes-patch-strategy": "merge"
+                        },
+                        "generateName": {
+                          "description": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf  [...]
+                          "type": [
+                            "string",
+                            "null"
+                          ]
+                        },
+                        "generation": {
+                          "description": "A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.",
+                          "format": "int64",
+                          "type": [
+                            "integer",
+                            "null"
+                          ]
+                        },
+                        "labels": {
+                          "additionalProperties": {
+                            "type": [
+                              "string",
+                              "null"
+                            ]
+                          },
+                          "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels",
+                          "type": [
+                            "object",
+                            "null"
+                          ]
+                        },
+                        "managedFields": {
+                          "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.",
+                          "items": {
+                            "description": "ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to.",
+                            "properties": {
+                              "apiVersion": {
+                                "description": "APIVersion defines the version of this resource that this field set applies to. The format is \"group/version\" just like the top-level APIVersion field. It is necessary to track the version of a field set because it cannot be automatically converted.",
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              },
+                              "fieldsType": {
+                                "description": "FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: \"FieldsV1\"",
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              },
+                              "fieldsV1": {
+                                "description": "FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format.\n\nEach key is either a '.' representing the field itself, and will always map to an empty set, or a string representing a sub-field or item. The string will follow one of these four formats: 'f:<name>', where <name> is the name of a field in a struct, or key in a map 'v:<value>', where <value> is the exact json formatted value of a list item 'i:<index>', where [...]
+                                "type": [
+                                  "object",
+                                  "null"
+                                ]
+                              },
+                              "manager": {
+                                "description": "Manager is an identifier of the workflow managing these fields.",
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              },
+                              "operation": {
+                                "description": "Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'.",
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              },
+                              "subresource": {
+                                "description": "Subresource is the name of the subresource used to update that object, or empty string if the object was updated through the main resource. The value of this field is used to distinguish between managers, even if they share the same name. For example, a status update will be distinct from a regular update using the same manager name. Note that the APIVersion field is not related to the Subresource field and it always corresponds to the vers [...]
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              },
+                              "time": {
+                                "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
+                                "format": "date-time",
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              }
+                            },
+                            "type": [
+                              "object",
+                              "null"
+                            ],
+                            "additionalProperties": false
+                          },
+                          "type": [
+                            "array",
+                            "null"
+                          ],
+                          "x-kubernetes-list-type": "atomic"
+                        },
+                        "name": {
+                          "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names",
+                          "type": [
+                            "string",
+                            "null"
+                          ]
+                        },
+                        "namespace": {
+                          "description": "Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces",
+                          "type": [
+                            "string",
+                            "null"
+                          ]
+                        },
+                        "ownerReferences": {
+                          "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.",
+                          "items": {
+                            "description": "OwnerReference contains enough information to let you identify an owning object. An owning object must be in the same namespace as the dependent, or be cluster-scoped, so there is no namespace field.",
+                            "properties": {
+                              "apiVersion": {
+                                "description": "API version of the referent.",
+                                "type": "string"
+                              },
+                              "blockOwnerDeletion": {
+                                "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion for how the garbage collector interacts with this field and enforces the foreground deletion. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 4 [...]
+                                "type": [
+                                  "boolean",
+                                  "null"
+                                ]
+                              },
+                              "controller": {
+                                "description": "If true, this reference points to the managing controller.",
+                                "type": [
+                                  "boolean",
+                                  "null"
+                                ]
+                              },
+                              "kind": {
+                                "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+                                "type": "string"
+                              },
+                              "name": {
+                                "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names",
+                                "type": "string"
+                              },
+                              "uid": {
+                                "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids",
+                                "type": "string"
+                              }
+                            },
+                            "required": [
+                              "apiVersion",
+                              "kind",
+                              "name",
+                              "uid"
+                            ],
+                            "type": [
+                              "object",
+                              "null"
+                            ],
+                            "x-kubernetes-map-type": "atomic",
+                            "additionalProperties": false
+                          },
+                          "type": [
+                            "array",
+                            "null"
+                          ],
+                          "x-kubernetes-list-map-keys": [
+                            "uid"
+                          ],
+                          "x-kubernetes-list-type": "map",
+                          "x-kubernetes-patch-merge-key": "uid",
+                          "x-kubernetes-patch-strategy": "merge"
+                        },
+                        "resourceVersion": {
+                          "description": "An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Valu [...]
+                          "type": [
+                            "string",
+                            "null"
+                          ]
+                        },
+                        "selfLink": {
+                          "description": "Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.",
+                          "type": [
+                            "string",
+                            "null"
+                          ]
+                        },
+                        "uid": {
+                          "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids",
+                          "type": [
+                            "string",
+                            "null"
+                          ]
+                        }
+                      },
+                      "type": [
+                        "object",
+                        "null"
+                      ],
+                      "additionalProperties": false
+                    },
+                    "spec": {
+                      "description": "PodSpec is a description of a pod.",
+                      "properties": {
+                        "activeDeadlineSeconds": {
+                          "description": "Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer.",
+                          "format": "int64",
+                          "type": [
+                            "integer",
+                            "null"
+                          ]
+                        },
+                        "affinity": {
+                          "description": "Affinity is a group of affinity scheduling rules.",
+                          "properties": {
+                            "nodeAffinity": {
+                              "description": "Node affinity is a group of node affinity scheduling rules.",
+                              "properties": {
+                                "preferredDuringSchedulingIgnoredDuringExecution": {
+                                  "description": "The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the el [...]
+                                  "items": {
+                                    "description": "An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).",
+                                    "properties": {
+                                      "preference": {
+                                        "description": "A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.",
+                                        "properties": {
+                                          "matchExpressions": {
+                                            "description": "A list of node selector requirements by node's labels.",
+                                            "items": {
+                                              "description": "A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
+                                              "properties": {
+                                                "key": {
+                                                  "description": "The label key that the selector applies to.",
+                                                  "type": "string"
+                                                },
+                                                "operator": {
+                                                  "description": "Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.",
+                                                  "type": "string"
+                                                },
+                                                "values": {
+                                                  "description": "An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.",
+                                                  "items": {
+                                                    "type": [
+                                                      "string",
+                                                      "null"
+                                                    ]
+                                                  },
+                                                  "type": [
+                                                    "array",
+                                                    "null"
+                                                  ],
+                                                  "x-kubernetes-list-type": "atomic"
+                                                }
+                                              },
+                                              "required": [
+                                                "key",
+                                                "operator"
+                                              ],
+                                              "type": [
+                                                "object",
+                                                "null"
+                                              ],
+                                              "additionalProperties": false
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          },
+                                          "matchFields": {
+                                            "description": "A list of node selector requirements by node's fields.",
+                                            "items": {
+                                              "description": "A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
+                                              "properties": {
+                                                "key": {
+                                                  "description": "The label key that the selector applies to.",
+                                                  "type": "string"
+                                                },
+                                                "operator": {
+                                                  "description": "Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.",
+                                                  "type": "string"
+                                                },
+                                                "values": {
+                                                  "description": "An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.",
+                                                  "items": {
+                                                    "type": [
+                                                      "string",
+                                                      "null"
+                                                    ]
+                                                  },
+                                                  "type": [
+                                                    "array",
+                                                    "null"
+                                                  ],
+                                                  "x-kubernetes-list-type": "atomic"
+                                                }
+                                              },
+                                              "required": [
+                                                "key",
+                                                "operator"
+                                              ],
+                                              "type": [
+                                                "object",
+                                                "null"
+                                              ],
+                                              "additionalProperties": false
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          }
+                                        },
+                                        "type": "object",
+                                        "x-kubernetes-map-type": "atomic",
+                                        "additionalProperties": false
+                                      },
+                                      "weight": {
+                                        "description": "Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.",
+                                        "format": "int32",
+                                        "type": "integer"
+                                      }
+                                    },
+                                    "required": [
+                                      "weight",
+                                      "preference"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "type": [
+                                    "array",
+                                    "null"
+                                  ],
+                                  "x-kubernetes-list-type": "atomic"
+                                },
+                                "requiredDuringSchedulingIgnoredDuringExecution": {
+                                  "description": "A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms.",
+                                  "properties": {
+                                    "nodeSelectorTerms": {
+                                      "description": "Required. A list of node selector terms. The terms are ORed.",
+                                      "items": {
+                                        "description": "A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.",
+                                        "properties": {
+                                          "matchExpressions": {
+                                            "description": "A list of node selector requirements by node's labels.",
+                                            "items": {
+                                              "description": "A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
+                                              "properties": {
+                                                "key": {
+                                                  "description": "The label key that the selector applies to.",
+                                                  "type": "string"
+                                                },
+                                                "operator": {
+                                                  "description": "Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.",
+                                                  "type": "string"
+                                                },
+                                                "values": {
+                                                  "description": "An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.",
+                                                  "items": {
+                                                    "type": [
+                                                      "string",
+                                                      "null"
+                                                    ]
+                                                  },
+                                                  "type": [
+                                                    "array",
+                                                    "null"
+                                                  ],
+                                                  "x-kubernetes-list-type": "atomic"
+                                                }
+                                              },
+                                              "required": [
+                                                "key",
+                                                "operator"
+                                              ],
+                                              "type": [
+                                                "object",
+                                                "null"
+                                              ],
+                                              "additionalProperties": false
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          },
+                                          "matchFields": {
+                                            "description": "A list of node selector requirements by node's fields.",
+                                            "items": {
+                                              "description": "A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
+                                              "properties": {
+                                                "key": {
+                                                  "description": "The label key that the selector applies to.",
+                                                  "type": "string"
+                                                },
+                                                "operator": {
+                                                  "description": "Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.",
+                                                  "type": "string"
+                                                },
+                                                "values": {
+                                                  "description": "An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.",
+                                                  "items": {
+                                                    "type": [
+                                                      "string",
+                                                      "null"
+                                                    ]
+                                                  },
+                                                  "type": [
+                                                    "array",
+                                                    "null"
+                                                  ],
+                                                  "x-kubernetes-list-type": "atomic"
+                                                }
+                                              },
+                                              "required": [
+                                                "key",
+                                                "operator"
+                                              ],
+                                              "type": [
+                                                "object",
+                                                "null"
+                                              ],
+                                              "additionalProperties": false
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          }
+                                        },
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-map-type": "atomic",
+                                        "additionalProperties": false
+                                      },
+                                      "type": "array",
+                                      "x-kubernetes-list-type": "atomic"
+                                    }
+                                  },
+                                  "required": [
+                                    "nodeSelectorTerms"
+                                  ],
+                                  "type": [
+                                    "object",
+                                    "null"
+                                  ],
+                                  "x-kubernetes-map-type": "atomic",
+                                  "additionalProperties": false
+                                }
+                              },
+                              "type": [
+                                "object",
+                                "null"
+                              ],
+                              "additionalProperties": false
+                            },
+                            "podAffinity": {
+                              "description": "Pod affinity is a group of inter pod affinity scheduling rules.",
+                              "properties": {
+                                "preferredDuringSchedulingIgnoredDuringExecution": {
+                                  "description": "The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the el [...]
+                                  "items": {
+                                    "description": "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)",
+                                    "properties": {
+                                      "podAffinityTerm": {
+                                        "description": "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running",
+                                        "properties": {
+                                          "labelSelector": {
+                                            "description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
+                                            "properties": {
+                                              "matchExpressions": {
+                                                "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
+                                                "items": {
+                                                  "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
+                                                  "properties": {
+                                                    "key": {
+                                                      "description": "key is the label key that the selector applies to.",
+                                                      "type": "string"
+                                                    },
+                                                    "operator": {
+                                                      "description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.",
+                                                      "type": "string"
+                                                    },
+                                                    "values": {
+                                                      "description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.",
+                                                      "items": {
+                                                        "type": [
+                                                          "string",
+                                                          "null"
+                                                        ]
+                                                      },
+                                                      "type": [
+                                                        "array",
+                                                        "null"
+                                                      ],
+                                                      "x-kubernetes-list-type": "atomic"
+                                                    }
+                                                  },
+                                                  "required": [
+                                                    "key",
+                                                    "operator"
+                                                  ],
+                                                  "type": [
+                                                    "object",
+                                                    "null"
+                                                  ],
+                                                  "additionalProperties": false
+                                                },
+                                                "type": [
+                                                  "array",
+                                                  "null"
+                                                ],
+                                                "x-kubernetes-list-type": "atomic"
+                                              },
+                                              "matchLabels": {
+                                                "additionalProperties": {
+                                                  "type": [
+                                                    "string",
+                                                    "null"
+                                                  ]
+                                                },
+                                                "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
+                                                "type": [
+                                                  "object",
+                                                  "null"
+                                                ]
+                                              }
+                                            },
+                                            "type": [
+                                              "object",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-map-type": "atomic",
+                                            "additionalProperties": false
+                                          },
+                                          "matchLabelKeys": {
+                                            "description": "MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The  [...]
+                                            "items": {
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          },
+                                          "mismatchLabelKeys": {
+                                            "description": "MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored [...]
+                                            "items": {
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          },
+                                          "namespaceSelector": {
+                                            "description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
+                                            "properties": {
+                                              "matchExpressions": {
+                                                "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
+                                                "items": {
+                                                  "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
+                                                  "properties": {
+                                                    "key": {
+                                                      "description": "key is the label key that the selector applies to.",
+                                                      "type": "string"
+                                                    },
+                                                    "operator": {
+                                                      "description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.",
+                                                      "type": "string"
+                                                    },
+                                                    "values": {
+                                                      "description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.",
+                                                      "items": {
+                                                        "type": [
+                                                          "string",
+                                                          "null"
+                                                        ]
+                                                      },
+                                                      "type": [
+                                                        "array",
+                                                        "null"
+                                                      ],
+                                                      "x-kubernetes-list-type": "atomic"
+                                                    }
+                                                  },
+                                                  "required": [
+                                                    "key",
+                                                    "operator"
+                                                  ],
+                                                  "type": [
+                                                    "object",
+                                                    "null"
+                                                  ],
+                                                  "additionalProperties": false
+                                                },
+                                                "type": [
+                                                  "array",
+                                                  "null"
+                                                ],
+                                                "x-kubernetes-list-type": "atomic"
+                                              },
+                                              "matchLabels": {
+                                                "additionalProperties": {
+                                                  "type": [
+                                                    "string",
+                                                    "null"
+                                                  ]
+                                                },
+                                                "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
+                                                "type": [
+                                                  "object",
+                                                  "null"
+                                                ]
+                                              }
+                                            },
+                                            "type": [
+                                              "object",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-map-type": "atomic",
+                                            "additionalProperties": false
+                                          },
+                                          "namespaces": {
+                                            "description": "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\".",
+                                            "items": {
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          },
+                                          "topologyKey": {
+                                            "description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.",
+                                            "type": "string"
+                                          }
+                                        },
+                                        "required": [
+                                          "topologyKey"
+                                        ],
+                                        "type": "object",
+                                        "additionalProperties": false
+                                      },
+                                      "weight": {
+                                        "description": "weight associated with matching the corresponding podAffinityTerm, in the range 1-100.",
+                                        "format": "int32",
+                                        "type": "integer"
+                                      }
+                                    },
+                                    "required": [
+                                      "weight",
+                                      "podAffinityTerm"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "type": [
+                                    "array",
+                                    "null"
+                                  ],
+                                  "x-kubernetes-list-type": "atomic"
+                                },
+                                "requiredDuringSchedulingIgnoredDuringExecution": {
+                                  "description": "If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are inters [...]
+                                  "items": {
+                                    "description": "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running",
+                                    "properties": {
+                                      "labelSelector": {
+                                        "description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
+                                        "properties": {
+                                          "matchExpressions": {
+                                            "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
+                                            "items": {
+                                              "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
+                                              "properties": {
+                                                "key": {
+                                                  "description": "key is the label key that the selector applies to.",
+                                                  "type": "string"
+                                                },
+                                                "operator": {
+                                                  "description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.",
+                                                  "type": "string"
+                                                },
+                                                "values": {
+                                                  "description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.",
+                                                  "items": {
+                                                    "type": [
+                                                      "string",
+                                                      "null"
+                                                    ]
+                                                  },
+                                                  "type": [
+                                                    "array",
+                                                    "null"
+                                                  ],
+                                                  "x-kubernetes-list-type": "atomic"
+                                                }
+                                              },
+                                              "required": [
+                                                "key",
+                                                "operator"
+                                              ],
+                                              "type": [
+                                                "object",
+                                                "null"
+                                              ],
+                                              "additionalProperties": false
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          },
+                                          "matchLabels": {
+                                            "additionalProperties": {
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
+                                            "type": [
+                                              "object",
+                                              "null"
+                                            ]
+                                          }
+                                        },
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-map-type": "atomic",
+                                        "additionalProperties": false
+                                      },
+                                      "matchLabelKeys": {
+                                        "description": "MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The defa [...]
+                                        "items": {
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        "type": [
+                                          "array",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-list-type": "atomic"
+                                      },
+                                      "mismatchLabelKeys": {
+                                        "description": "MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. Th [...]
+                                        "items": {
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        "type": [
+                                          "array",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-list-type": "atomic"
+                                      },
+                                      "namespaceSelector": {
+                                        "description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
+                                        "properties": {
+                                          "matchExpressions": {
+                                            "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
+                                            "items": {
+                                              "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
+                                              "properties": {
+                                                "key": {
+                                                  "description": "key is the label key that the selector applies to.",
+                                                  "type": "string"
+                                                },
+                                                "operator": {
+                                                  "description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.",
+                                                  "type": "string"
+                                                },
+                                                "values": {
+                                                  "description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.",
+                                                  "items": {
+                                                    "type": [
+                                                      "string",
+                                                      "null"
+                                                    ]
+                                                  },
+                                                  "type": [
+                                                    "array",
+                                                    "null"
+                                                  ],
+                                                  "x-kubernetes-list-type": "atomic"
+                                                }
+                                              },
+                                              "required": [
+                                                "key",
+                                                "operator"
+                                              ],
+                                              "type": [
+                                                "object",
+                                                "null"
+                                              ],
+                                              "additionalProperties": false
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          },
+                                          "matchLabels": {
+                                            "additionalProperties": {
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
+                                            "type": [
+                                              "object",
+                                              "null"
+                                            ]
+                                          }
+                                        },
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-map-type": "atomic",
+                                        "additionalProperties": false
+                                      },
+                                      "namespaces": {
+                                        "description": "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\".",
+                                        "items": {
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        "type": [
+                                          "array",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-list-type": "atomic"
+                                      },
+                                      "topologyKey": {
+                                        "description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.",
+                                        "type": "string"
+                                      }
+                                    },
+                                    "required": [
+                                      "topologyKey"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "type": [
+                                    "array",
+                                    "null"
+                                  ],
+                                  "x-kubernetes-list-type": "atomic"
+                                }
+                              },
+                              "type": [
+                                "object",
+                                "null"
+                              ],
+                              "additionalProperties": false
+                            },
+                            "podAntiAffinity": {
+                              "description": "Pod anti affinity is a group of inter pod anti affinity scheduling rules.",
+                              "properties": {
+                                "preferredDuringSchedulingIgnoredDuringExecution": {
+                                  "description": "The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating thro [...]
+                                  "items": {
+                                    "description": "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)",
+                                    "properties": {
+                                      "podAffinityTerm": {
+                                        "description": "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running",
+                                        "properties": {
+                                          "labelSelector": {
+                                            "description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
+                                            "properties": {
+                                              "matchExpressions": {
+                                                "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
+                                                "items": {
+                                                  "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
+                                                  "properties": {
+                                                    "key": {
+                                                      "description": "key is the label key that the selector applies to.",
+                                                      "type": "string"
+                                                    },
+                                                    "operator": {
+                                                      "description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.",
+                                                      "type": "string"
+                                                    },
+                                                    "values": {
+                                                      "description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.",
+                                                      "items": {
+                                                        "type": [
+                                                          "string",
+                                                          "null"
+                                                        ]
+                                                      },
+                                                      "type": [
+                                                        "array",
+                                                        "null"
+                                                      ],
+                                                      "x-kubernetes-list-type": "atomic"
+                                                    }
+                                                  },
+                                                  "required": [
+                                                    "key",
+                                                    "operator"
+                                                  ],
+                                                  "type": [
+                                                    "object",
+                                                    "null"
+                                                  ],
+                                                  "additionalProperties": false
+                                                },
+                                                "type": [
+                                                  "array",
+                                                  "null"
+                                                ],
+                                                "x-kubernetes-list-type": "atomic"
+                                              },
+                                              "matchLabels": {
+                                                "additionalProperties": {
+                                                  "type": [
+                                                    "string",
+                                                    "null"
+                                                  ]
+                                                },
+                                                "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
+                                                "type": [
+                                                  "object",
+                                                  "null"
+                                                ]
+                                              }
+                                            },
+                                            "type": [
+                                              "object",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-map-type": "atomic",
+                                            "additionalProperties": false
+                                          },
+                                          "matchLabelKeys": {
+                                            "description": "MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The  [...]
+                                            "items": {
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          },
+                                          "mismatchLabelKeys": {
+                                            "description": "MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored [...]
+                                            "items": {
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          },
+                                          "namespaceSelector": {
+                                            "description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
+                                            "properties": {
+                                              "matchExpressions": {
+                                                "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
+                                                "items": {
+                                                  "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
+                                                  "properties": {
+                                                    "key": {
+                                                      "description": "key is the label key that the selector applies to.",
+                                                      "type": "string"
+                                                    },
+                                                    "operator": {
+                                                      "description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.",
+                                                      "type": "string"
+                                                    },
+                                                    "values": {
+                                                      "description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.",
+                                                      "items": {
+                                                        "type": [
+                                                          "string",
+                                                          "null"
+                                                        ]
+                                                      },
+                                                      "type": [
+                                                        "array",
+                                                        "null"
+                                                      ],
+                                                      "x-kubernetes-list-type": "atomic"
+                                                    }
+                                                  },
+                                                  "required": [
+                                                    "key",
+                                                    "operator"
+                                                  ],
+                                                  "type": [
+                                                    "object",
+                                                    "null"
+                                                  ],
+                                                  "additionalProperties": false
+                                                },
+                                                "type": [
+                                                  "array",
+                                                  "null"
+                                                ],
+                                                "x-kubernetes-list-type": "atomic"
+                                              },
+                                              "matchLabels": {
+                                                "additionalProperties": {
+                                                  "type": [
+                                                    "string",
+                                                    "null"
+                                                  ]
+                                                },
+                                                "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
+                                                "type": [
+                                                  "object",
+                                                  "null"
+                                                ]
+                                              }
+                                            },
+                                            "type": [
+                                              "object",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-map-type": "atomic",
+                                            "additionalProperties": false
+                                          },
+                                          "namespaces": {
+                                            "description": "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\".",
+                                            "items": {
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          },
+                                          "topologyKey": {
+                                            "description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.",
+                                            "type": "string"
+                                          }
+                                        },
+                                        "required": [
+                                          "topologyKey"
+                                        ],
+                                        "type": "object",
+                                        "additionalProperties": false
+                                      },
+                                      "weight": {
+                                        "description": "weight associated with matching the corresponding podAffinityTerm, in the range 1-100.",
+                                        "format": "int32",
+                                        "type": "integer"
+                                      }
+                                    },
+                                    "required": [
+                                      "weight",
+                                      "podAffinityTerm"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "type": [
+                                    "array",
+                                    "null"
+                                  ],
+                                  "x-kubernetes-list-type": "atomic"
+                                },
+                                "requiredDuringSchedulingIgnoredDuringExecution": {
+                                  "description": "If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm  [...]
+                                  "items": {
+                                    "description": "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running",
+                                    "properties": {
+                                      "labelSelector": {
+                                        "description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
+                                        "properties": {
+                                          "matchExpressions": {
+                                            "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
+                                            "items": {
+                                              "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
+                                              "properties": {
+                                                "key": {
+                                                  "description": "key is the label key that the selector applies to.",
+                                                  "type": "string"
+                                                },
+                                                "operator": {
+                                                  "description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.",
+                                                  "type": "string"
+                                                },
+                                                "values": {
+                                                  "description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.",
+                                                  "items": {
+                                                    "type": [
+                                                      "string",
+                                                      "null"
+                                                    ]
+                                                  },
+                                                  "type": [
+                                                    "array",
+                                                    "null"
+                                                  ],
+                                                  "x-kubernetes-list-type": "atomic"
+                                                }
+                                              },
+                                              "required": [
+                                                "key",
+                                                "operator"
+                                              ],
+                                              "type": [
+                                                "object",
+                                                "null"
+                                              ],
+                                              "additionalProperties": false
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          },
+                                          "matchLabels": {
+                                            "additionalProperties": {
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
+                                            "type": [
+                                              "object",
+                                              "null"
+                                            ]
+                                          }
+                                        },
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-map-type": "atomic",
+                                        "additionalProperties": false
+                                      },
+                                      "matchLabelKeys": {
+                                        "description": "MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The defa [...]
+                                        "items": {
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        "type": [
+                                          "array",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-list-type": "atomic"
+                                      },
+                                      "mismatchLabelKeys": {
+                                        "description": "MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. Th [...]
+                                        "items": {
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        "type": [
+                                          "array",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-list-type": "atomic"
+                                      },
+                                      "namespaceSelector": {
+                                        "description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
+                                        "properties": {
+                                          "matchExpressions": {
+                                            "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
+                                            "items": {
+                                              "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
+                                              "properties": {
+                                                "key": {
+                                                  "description": "key is the label key that the selector applies to.",
+                                                  "type": "string"
+                                                },
+                                                "operator": {
+                                                  "description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.",
+                                                  "type": "string"
+                                                },
+                                                "values": {
+                                                  "description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.",
+                                                  "items": {
+                                                    "type": [
+                                                      "string",
+                                                      "null"
+                                                    ]
+                                                  },
+                                                  "type": [
+                                                    "array",
+                                                    "null"
+                                                  ],
+                                                  "x-kubernetes-list-type": "atomic"
+                                                }
+                                              },
+                                              "required": [
+                                                "key",
+                                                "operator"
+                                              ],
+                                              "type": [
+                                                "object",
+                                                "null"
+                                              ],
+                                              "additionalProperties": false
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          },
+                                          "matchLabels": {
+                                            "additionalProperties": {
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
+                                            "type": [
+                                              "object",
+                                              "null"
+                                            ]
+                                          }
+                                        },
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-map-type": "atomic",
+                                        "additionalProperties": false
+                                      },
+                                      "namespaces": {
+                                        "description": "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\".",
+                                        "items": {
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        "type": [
+                                          "array",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-list-type": "atomic"
+                                      },
+                                      "topologyKey": {
+                                        "description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.",
+                                        "type": "string"
+                                      }
+                                    },
+                                    "required": [
+                                      "topologyKey"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "type": [
+                                    "array",
+                                    "null"
+                                  ],
+                                  "x-kubernetes-list-type": "atomic"
+                                }
+                              },
+                              "type": [
+                                "object",
+                                "null"
+                              ],
+                              "additionalProperties": false
+                            }
+                          },
+                          "type": [
+                            "object",
+                            "null"
+                          ],
+                          "additionalProperties": false
+                        },
+                        "automountServiceAccountToken": {
+                          "description": "AutomountServiceAccountToken indicates whether a service account token should be automatically mounted.",
+                          "type": [
+                            "boolean",
+                            "null"
+                          ]
+                        },
+                        "containers": {
+                          "description": "List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated.",
+                          "items": {
+                            "description": "A single application container that you want to run within a pod.",
+                            "properties": {
+                              "args": {
+                                "description": "Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never b [...]
+                                "items": {
+                                  "type": [
+                                    "string",
+                                    "null"
+                                  ]
+                                },
+                                "type": [
+                                  "array",
+                                  "null"
+                                ],
+                                "x-kubernetes-list-type": "atomic"
+                              },
+                              "command": {
+                                "description": "Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escape [...]
+                                "items": {
+                                  "type": [
+                                    "string",
+                                    "null"
+                                  ]
+                                },
+                                "type": [
+                                  "array",
+                                  "null"
+                                ],
+                                "x-kubernetes-list-type": "atomic"
+                              },
+                              "env": {
+                                "description": "List of environment variables to set in the container. Cannot be updated.",
+                                "items": {
+                                  "description": "EnvVar represents an environment variable present in a Container.",
+                                  "properties": {
+                                    "name": {
+                                      "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
+                                      "type": "string"
+                                    },
+                                    "value": {
+                                      "description": "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded [...]
+                                      "type": [
+                                        "string",
+                                        "null"
+                                      ]
+                                    },
+                                    "valueFrom": {
+                                      "description": "EnvVarSource represents a source for the value of an EnvVar.",
+                                      "properties": {
+                                        "configMapKeyRef": {
+                                          "description": "Selects a key from a ConfigMap.",
+                                          "properties": {
+                                            "key": {
+                                              "description": "The key to select.",
+                                              "type": "string"
+                                            },
+                                            "name": {
+                                              "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "optional": {
+                                              "description": "Specify whether the ConfigMap or its key must be defined",
+                                              "type": [
+                                                "boolean",
+                                                "null"
+                                              ]
+                                            }
+                                          },
+                                          "required": [
+                                            "key"
+                                          ],
+                                          "type": [
+                                            "object",
+                                            "null"
+                                          ],
+                                          "x-kubernetes-map-type": "atomic",
+                                          "additionalProperties": false
+                                        },
+                                        "fieldRef": {
+                                          "description": "ObjectFieldSelector selects an APIVersioned field of an object.",
+                                          "properties": {
+                                            "apiVersion": {
+                                              "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "fieldPath": {
+                                              "description": "Path of the field to select in the specified API version.",
+                                              "type": "string"
+                                            }
+                                          },
+                                          "required": [
+                                            "fieldPath"
+                                          ],
+                                          "type": [
+                                            "object",
+                                            "null"
+                                          ],
+                                          "x-kubernetes-map-type": "atomic",
+                                          "additionalProperties": false
+                                        },
+                                        "resourceFieldRef": {
+                                          "description": "ResourceFieldSelector represents container resources (cpu, memory) and their output format",
+                                          "properties": {
+                                            "containerName": {
+                                              "description": "Container name: required for volumes, optional for env vars",
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "divisor": {
+                                              "oneOf": [
+                                                {
+                                                  "type": [
+                                                    "string",
+                                                    "null"
+                                                  ]
+                                                },
+                                                {
+                                                  "type": [
+                                                    "number",
+                                                    "null"
+                                                  ]
+                                                }
+                                              ]
+                                            },
+                                            "resource": {
+                                              "description": "Required: resource to select",
+                                              "type": "string"
+                                            }
+                                          },
+                                          "required": [
+                                            "resource"
+                                          ],
+                                          "type": [
+                                            "object",
+                                            "null"
+                                          ],
+                                          "x-kubernetes-map-type": "atomic",
+                                          "additionalProperties": false
+                                        },
+                                        "secretKeyRef": {
+                                          "description": "SecretKeySelector selects a key of a Secret.",
+                                          "properties": {
+                                            "key": {
+                                              "description": "The key of the secret to select from.  Must be a valid secret key.",
+                                              "type": "string"
+                                            },
+                                            "name": {
+                                              "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "optional": {
+                                              "description": "Specify whether the Secret or its key must be defined",
+                                              "type": [
+                                                "boolean",
+                                                "null"
+                                              ]
+                                            }
+                                          },
+                                          "required": [
+                                            "key"
+                                          ],
+                                          "type": [
+                                            "object",
+                                            "null"
+                                          ],
+                                          "x-kubernetes-map-type": "atomic",
+                                          "additionalProperties": false
+                                        }
+                                      },
+                                      "type": [
+                                        "object",
+                                        "null"
+                                      ],
+                                      "additionalProperties": false
+                                    }
+                                  },
+                                  "required": [
+                                    "name"
+                                  ],
+                                  "type": [
+                                    "object",
+                                    "null"
+                                  ],
+                                  "additionalProperties": false
+                                },
+                                "type": [
+                                  "array",
+                                  "null"
+                                ],
+                                "x-kubernetes-list-map-keys": [
+                                  "name"
+                                ],
+                                "x-kubernetes-list-type": "map",
+                                "x-kubernetes-patch-merge-key": "name",
+                                "x-kubernetes-patch-strategy": "merge"
+                              },
+                              "envFrom": {
+                                "description": "List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.",
+                                "items": {
+                                  "description": "EnvFromSource represents the source of a set of ConfigMaps",
+                                  "properties": {
+                                    "configMapRef": {
+                                      "description": "ConfigMapEnvSource selects a ConfigMap to populate the environment variables with.\n\nThe contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.",
+                                      "properties": {
+                                        "name": {
+                                          "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        "optional": {
+                                          "description": "Specify whether the ConfigMap must be defined",
+                                          "type": [
+                                            "boolean",
+                                            "null"
+                                          ]
+                                        }
+                                      },
+                                      "type": [
+                                        "object",
+                                        "null"
+                                      ],
+                                      "additionalProperties": false
+                                    },
+                                    "prefix": {
+                                      "description": "An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.",
+                                      "type": [
+                                        "string",
+                                        "null"
+                                      ]
+                                    },
+                                    "secretRef": {
+                                      "description": "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.",
+                                      "properties": {
+                                        "name": {
+                                          "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        "optional": {
+                                          "description": "Specify whether the Secret must be defined",
+                                          "type": [
+                                            "boolean",
+                                            "null"
+                                          ]
+                                        }
+                                      },
+                                      "type": [
+                                        "object",
+                                        "null"
+                                      ],
+                                      "additionalProperties": false
+                                    }
+                                  },
+                                  "type": [
+                                    "object",
+                                    "null"
+                                  ],
+                                  "additionalProperties": false
+                                },
+                                "type": [
+                                  "array",
+                                  "null"
+                                ],
+                                "x-kubernetes-list-type": "atomic"
+                              },
+                              "image": {
+                                "description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.",
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              },
+                              "imagePullPolicy": {
+                                "description": "Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images",
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              },
+                              "lifecycle": {
+                                "description": "Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted.",
+                                "properties": {
+                                  "postStart": {
+                                    "description": "LifecycleHandler defines a specific action that should be taken in a lifecycle hook. One and only one of the fields, except TCPSocket must be specified.",
+                                    "properties": {
+                                      "exec": {
+                                        "description": "ExecAction describes a \"run in container\" action.",
+                                        "properties": {
+                                          "command": {
+                                            "description": "Command is the command line to execute inside the container, the working directory for the command  is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.",
+                                            "items": {
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          }
+                                        },
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      },
+                                      "httpGet": {
+                                        "description": "HTTPGetAction describes an action based on HTTP Get requests.",
+                                        "properties": {
+                                          "host": {
+                                            "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          "httpHeaders": {
+                                            "description": "Custom headers to set in the request. HTTP allows repeated headers.",
+                                            "items": {
+                                              "description": "HTTPHeader describes a custom header to be used in HTTP probes",
+                                              "properties": {
+                                                "name": {
+                                                  "description": "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.",
+                                                  "type": "string"
+                                                },
+                                                "value": {
+                                                  "description": "The header field value",
+                                                  "type": "string"
+                                                }
+                                              },
+                                              "required": [
+                                                "name",
+                                                "value"
+                                              ],
+                                              "type": [
+                                                "object",
+                                                "null"
+                                              ],
+                                              "additionalProperties": false
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          },
+                                          "path": {
+                                            "description": "Path to access on the HTTP server.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          "port": {
+                                            "oneOf": [
+                                              {
+                                                "type": [
+                                                  "string",
+                                                  "null"
+                                                ]
+                                              },
+                                              {
+                                                "type": [
+                                                  "integer",
+                                                  "null"
+                                                ]
+                                              }
+                                            ]
+                                          },
+                                          "scheme": {
+                                            "description": "Scheme to use for connecting to the host. Defaults to HTTP.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          }
+                                        },
+                                        "required": [
+                                          "port"
+                                        ],
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      },
+                                      "sleep": {
+                                        "description": "SleepAction describes a \"sleep\" action.",
+                                        "properties": {
+                                          "seconds": {
+                                            "description": "Seconds is the number of seconds to sleep.",
+                                            "format": "int64",
+                                            "type": "integer"
+                                          }
+                                        },
+                                        "required": [
+                                          "seconds"
+                                        ],
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      },
+                                      "tcpSocket": {
+                                        "description": "TCPSocketAction describes an action based on opening a socket",
+                                        "properties": {
+                                          "host": {
+                                            "description": "Optional: Host name to connect to, defaults to the pod IP.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          "port": {
+                                            "oneOf": [
+                                              {
+                                                "type": [
+                                                  "string",
+                                                  "null"
+                                                ]
+                                              },
+                                              {
+                                                "type": [
+                                                  "integer",
+                                                  "null"
+                                                ]
+                                              }
+                                            ]
+                                          }
+                                        },
+                                        "required": [
+                                          "port"
+                                        ],
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      }
+                                    },
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "preStop": {
+                                    "description": "LifecycleHandler defines a specific action that should be taken in a lifecycle hook. One and only one of the fields, except TCPSocket must be specified.",
+                                    "properties": {
+                                      "exec": {
+                                        "description": "ExecAction describes a \"run in container\" action.",
+                                        "properties": {
+                                          "command": {
+                                            "description": "Command is the command line to execute inside the container, the working directory for the command  is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.",
+                                            "items": {
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          }
+                                        },
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      },
+                                      "httpGet": {
+                                        "description": "HTTPGetAction describes an action based on HTTP Get requests.",
+                                        "properties": {
+                                          "host": {
+                                            "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          "httpHeaders": {
+                                            "description": "Custom headers to set in the request. HTTP allows repeated headers.",
+                                            "items": {
+                                              "description": "HTTPHeader describes a custom header to be used in HTTP probes",
+                                              "properties": {
+                                                "name": {
+                                                  "description": "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.",
+                                                  "type": "string"
+                                                },
+                                                "value": {
+                                                  "description": "The header field value",
+                                                  "type": "string"
+                                                }
+                                              },
+                                              "required": [
+                                                "name",
+                                                "value"
+                                              ],
+                                              "type": [
+                                                "object",
+                                                "null"
+                                              ],
+                                              "additionalProperties": false
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          },
+                                          "path": {
+                                            "description": "Path to access on the HTTP server.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          "port": {
+                                            "oneOf": [
+                                              {
+                                                "type": [
+                                                  "string",
+                                                  "null"
+                                                ]
+                                              },
+                                              {
+                                                "type": [
+                                                  "integer",
+                                                  "null"
+                                                ]
+                                              }
+                                            ]
+                                          },
+                                          "scheme": {
+                                            "description": "Scheme to use for connecting to the host. Defaults to HTTP.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          }
+                                        },
+                                        "required": [
+                                          "port"
+                                        ],
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      },
+                                      "sleep": {
+                                        "description": "SleepAction describes a \"sleep\" action.",
+                                        "properties": {
+                                          "seconds": {
+                                            "description": "Seconds is the number of seconds to sleep.",
+                                            "format": "int64",
+                                            "type": "integer"
+                                          }
+                                        },
+                                        "required": [
+                                          "seconds"
+                                        ],
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      },
+                                      "tcpSocket": {
+                                        "description": "TCPSocketAction describes an action based on opening a socket",
+                                        "properties": {
+                                          "host": {
+                                            "description": "Optional: Host name to connect to, defaults to the pod IP.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          "port": {
+                                            "oneOf": [
+                                              {
+                                                "type": [
+                                                  "string",
+                                                  "null"
+                                                ]
+                                              },
+                                              {
+                                                "type": [
+                                                  "integer",
+                                                  "null"
+                                                ]
+                                              }
+                                            ]
+                                          }
+                                        },
+                                        "required": [
+                                          "port"
+                                        ],
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      }
+                                    },
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  }
+                                },
+                                "type": [
+                                  "object",
+                                  "null"
+                                ],
+                                "additionalProperties": false
+                              },
+                              "livenessProbe": {
+                                "description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.",
+                                "properties": {
+                                  "exec": {
+                                    "description": "ExecAction describes a \"run in container\" action.",
+                                    "properties": {
+                                      "command": {
+                                        "description": "Command is the command line to execute inside the container, the working directory for the command  is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.",
+                                        "items": {
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        "type": [
+                                          "array",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-list-type": "atomic"
+                                      }
+                                    },
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "failureThreshold": {
+                                    "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "grpc": {
+                                    "description": "GRPCAction specifies an action involving a GRPC service.",
+                                    "properties": {
+                                      "port": {
+                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
+                                        "format": "int32",
+                                        "type": "integer"
+                                      },
+                                      "service": {
+                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      }
+                                    },
+                                    "required": [
+                                      "port"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "httpGet": {
+                                    "description": "HTTPGetAction describes an action based on HTTP Get requests.",
+                                    "properties": {
+                                      "host": {
+                                        "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "httpHeaders": {
+                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
+                                        "items": {
+                                          "description": "HTTPHeader describes a custom header to be used in HTTP probes",
+                                          "properties": {
+                                            "name": {
+                                              "description": "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.",
+                                              "type": "string"
+                                            },
+                                            "value": {
+                                              "description": "The header field value",
+                                              "type": "string"
+                                            }
+                                          },
+                                          "required": [
+                                            "name",
+                                            "value"
+                                          ],
+                                          "type": [
+                                            "object",
+                                            "null"
+                                          ],
+                                          "additionalProperties": false
+                                        },
+                                        "type": [
+                                          "array",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-list-type": "atomic"
+                                      },
+                                      "path": {
+                                        "description": "Path to access on the HTTP server.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "port": {
+                                        "oneOf": [
+                                          {
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          {
+                                            "type": [
+                                              "integer",
+                                              "null"
+                                            ]
+                                          }
+                                        ]
+                                      },
+                                      "scheme": {
+                                        "description": "Scheme to use for connecting to the host. Defaults to HTTP.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      }
+                                    },
+                                    "required": [
+                                      "port"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "initialDelaySeconds": {
+                                    "description": "Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "periodSeconds": {
+                                    "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "successThreshold": {
+                                    "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "tcpSocket": {
+                                    "description": "TCPSocketAction describes an action based on opening a socket",
+                                    "properties": {
+                                      "host": {
+                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "port": {
+                                        "oneOf": [
+                                          {
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          {
+                                            "type": [
+                                              "integer",
+                                              "null"
+                                            ]
+                                          }
+                                        ]
+                                      }
+                                    },
+                                    "required": [
+                                      "port"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "terminationGracePeriodSeconds": {
+                                    "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value [...]
+                                    "format": "int64",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "timeoutSeconds": {
+                                    "description": "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  }
+                                },
+                                "type": [
+                                  "object",
+                                  "null"
+                                ],
+                                "additionalProperties": false
+                              },
+                              "name": {
+                                "description": "Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.",
+                                "type": "string"
+                              },
+                              "ports": {
+                                "description": "List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.",
+                                "items": {
+                                  "description": "ContainerPort represents a network port in a single container.",
+                                  "properties": {
+                                    "containerPort": {
+                                      "description": "Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536.",
+                                      "format": "int32",
+                                      "type": "integer"
+                                    },
+                                    "hostIP": {
+                                      "description": "What host IP to bind the external port to.",
+                                      "type": [
+                                        "string",
+                                        "null"
+                                      ]
+                                    },
+                                    "hostPort": {
+                                      "description": "Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.",
+                                      "format": "int32",
+                                      "type": [
+                                        "integer",
+                                        "null"
+                                      ]
+                                    },
+                                    "name": {
+                                      "description": "If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.",
+                                      "type": [
+                                        "string",
+                                        "null"
+                                      ]
+                                    },
+                                    "protocol": {
+                                      "description": "Protocol for port. Must be UDP, TCP, or SCTP. Defaults to \"TCP\".",
+                                      "type": [
+                                        "string",
+                                        "null"
+                                      ]
+                                    }
+                                  },
+                                  "required": [
+                                    "containerPort"
+                                  ],
+                                  "type": [
+                                    "object",
+                                    "null"
+                                  ],
+                                  "additionalProperties": false
+                                },
+                                "type": [
+                                  "array",
+                                  "null"
+                                ],
+                                "x-kubernetes-list-map-keys": [
+                                  "containerPort",
+                                  "protocol"
+                                ],
+                                "x-kubernetes-list-type": "map",
+                                "x-kubernetes-patch-merge-key": "containerPort",
+                                "x-kubernetes-patch-strategy": "merge"
+                              },
+                              "readinessProbe": {
+                                "description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.",
+                                "properties": {
+                                  "exec": {
+                                    "description": "ExecAction describes a \"run in container\" action.",
+                                    "properties": {
+                                      "command": {
+                                        "description": "Command is the command line to execute inside the container, the working directory for the command  is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.",
+                                        "items": {
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        "type": [
+                                          "array",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-list-type": "atomic"
+                                      }
+                                    },
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "failureThreshold": {
+                                    "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "grpc": {
+                                    "description": "GRPCAction specifies an action involving a GRPC service.",
+                                    "properties": {
+                                      "port": {
+                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
+                                        "format": "int32",
+                                        "type": "integer"
+                                      },
+                                      "service": {
+                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      }
+                                    },
+                                    "required": [
+                                      "port"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "httpGet": {
+                                    "description": "HTTPGetAction describes an action based on HTTP Get requests.",
+                                    "properties": {
+                                      "host": {
+                                        "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "httpHeaders": {
+                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
+                                        "items": {
+                                          "description": "HTTPHeader describes a custom header to be used in HTTP probes",
+                                          "properties": {
+                                            "name": {
+                                              "description": "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.",
+                                              "type": "string"
+                                            },
+                                            "value": {
+                                              "description": "The header field value",
+                                              "type": "string"
+                                            }
+                                          },
+                                          "required": [
+                                            "name",
+                                            "value"
+                                          ],
+                                          "type": [
+                                            "object",
+                                            "null"
+                                          ],
+                                          "additionalProperties": false
+                                        },
+                                        "type": [
+                                          "array",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-list-type": "atomic"
+                                      },
+                                      "path": {
+                                        "description": "Path to access on the HTTP server.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "port": {
+                                        "oneOf": [
+                                          {
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          {
+                                            "type": [
+                                              "integer",
+                                              "null"
+                                            ]
+                                          }
+                                        ]
+                                      },
+                                      "scheme": {
+                                        "description": "Scheme to use for connecting to the host. Defaults to HTTP.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      }
+                                    },
+                                    "required": [
+                                      "port"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "initialDelaySeconds": {
+                                    "description": "Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "periodSeconds": {
+                                    "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "successThreshold": {
+                                    "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "tcpSocket": {
+                                    "description": "TCPSocketAction describes an action based on opening a socket",
+                                    "properties": {
+                                      "host": {
+                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "port": {
+                                        "oneOf": [
+                                          {
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          {
+                                            "type": [
+                                              "integer",
+                                              "null"
+                                            ]
+                                          }
+                                        ]
+                                      }
+                                    },
+                                    "required": [
+                                      "port"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "terminationGracePeriodSeconds": {
+                                    "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value [...]
+                                    "format": "int64",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "timeoutSeconds": {
+                                    "description": "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  }
+                                },
+                                "type": [
+                                  "object",
+                                  "null"
+                                ],
+                                "additionalProperties": false
+                              },
+                              "resizePolicy": {
+                                "description": "Resources resize policy for the container.",
+                                "items": {
+                                  "description": "ContainerResizePolicy represents resource resize policy for the container.",
+                                  "properties": {
+                                    "resourceName": {
+                                      "description": "Name of the resource to which this resource resize policy applies. Supported values: cpu, memory.",
+                                      "type": "string"
+                                    },
+                                    "restartPolicy": {
+                                      "description": "Restart policy to apply when specified resource is resized. If not specified, it defaults to NotRequired.",
+                                      "type": "string"
+                                    }
+                                  },
+                                  "required": [
+                                    "resourceName",
+                                    "restartPolicy"
+                                  ],
+                                  "type": [
+                                    "object",
+                                    "null"
+                                  ],
+                                  "additionalProperties": false
+                                },
+                                "type": [
+                                  "array",
+                                  "null"
+                                ],
+                                "x-kubernetes-list-type": "atomic"
+                              },
+                              "resources": {
+                                "description": "ResourceRequirements describes the compute resource requirements.",
+                                "properties": {
+                                  "claims": {
+                                    "description": "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.\n\nThis is an alpha field and requires enabling the DynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
+                                    "items": {
+                                      "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
+                                      "properties": {
+                                        "name": {
+                                          "description": "Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.",
+                                          "type": "string"
+                                        },
+                                        "request": {
+                                          "description": "Request is the name chosen for a request in the referenced claim. If empty, everything from the claim is made available, otherwise only the result of this request.",
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        }
+                                      },
+                                      "required": [
+                                        "name"
+                                      ],
+                                      "type": [
+                                        "object",
+                                        "null"
+                                      ],
+                                      "additionalProperties": false
+                                    },
+                                    "type": [
+                                      "array",
+                                      "null"
+                                    ],
+                                    "x-kubernetes-list-map-keys": [
+                                      "name"
+                                    ],
+                                    "x-kubernetes-list-type": "map"
+                                  },
+                                  "limits": {
+                                    "additionalProperties": {
+                                      "oneOf": [
+                                        {
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        {
+                                          "type": [
+                                            "number",
+                                            "null"
+                                          ]
+                                        }
+                                      ]
+                                    },
+                                    "description": "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ]
+                                  },
+                                  "requests": {
+                                    "additionalProperties": {
+                                      "oneOf": [
+                                        {
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        {
+                                          "type": [
+                                            "number",
+                                            "null"
+                                          ]
+                                        }
+                                      ]
+                                    },
+                                    "description": "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ]
+                                  }
+                                },
+                                "type": [
+                                  "object",
+                                  "null"
+                                ],
+                                "additionalProperties": false
+                              },
+                              "restartPolicy": {
+                                "description": "RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continua [...]
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              },
+                              "securityContext": {
+                                "description": "SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext.  When both are set, the values in SecurityContext take precedence.",
+                                "properties": {
+                                  "allowPrivilegeEscalation": {
+                                    "description": "AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows.",
+                                    "type": [
+                                      "boolean",
+                                      "null"
+                                    ]
+                                  },
+                                  "appArmorProfile": {
+                                    "description": "AppArmorProfile defines a pod or container's AppArmor settings.",
+                                    "properties": {
+                                      "localhostProfile": {
+                                        "description": "localhostProfile indicates a profile loaded on the node that should be used. The profile must be preconfigured on the node to work. Must match the loaded name of the profile. Must be set if and only if type is \"Localhost\".",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "type": {
+                                        "description": "type indicates which kind of AppArmor profile will be applied. Valid options are:\n  Localhost - a profile pre-loaded on the node.\n  RuntimeDefault - the container runtime's default profile.\n  Unconfined - no AppArmor enforcement.",
+                                        "type": "string"
+                                      }
+                                    },
+                                    "required": [
+                                      "type"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "x-kubernetes-unions": [
+                                      {
+                                        "discriminator": "type",
+                                        "fields-to-discriminateBy": {
+                                          "localhostProfile": "LocalhostProfile"
+                                        }
+                                      }
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "capabilities": {
+                                    "description": "Adds and removes POSIX capabilities from running containers.",
+                                    "properties": {
+                                      "add": {
+                                        "description": "Added capabilities",
+                                        "items": {
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        "type": [
+                                          "array",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-list-type": "atomic"
+                                      },
+                                      "drop": {
+                                        "description": "Removed capabilities",
+                                        "items": {
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        "type": [
+                                          "array",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-list-type": "atomic"
+                                      }
+                                    },
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "privileged": {
+                                    "description": "Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. Note that this field cannot be set when spec.os.name is windows.",
+                                    "type": [
+                                      "boolean",
+                                      "null"
+                                    ]
+                                  },
+                                  "procMount": {
+                                    "description": "procMount denotes the type of proc mount to use for the containers. The default value is Default which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows.",
+                                    "type": [
+                                      "string",
+                                      "null"
+                                    ]
+                                  },
+                                  "readOnlyRootFilesystem": {
+                                    "description": "Whether this container has a read-only root filesystem. Default is false. Note that this field cannot be set when spec.os.name is windows.",
+                                    "type": [
+                                      "boolean",
+                                      "null"
+                                    ]
+                                  },
+                                  "runAsGroup": {
+                                    "description": "The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext.  If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows.",
+                                    "format": "int64",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "runAsNonRoot": {
+                                    "description": "Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext.  If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.",
+                                    "type": [
+                                      "boolean",
+                                      "null"
+                                    ]
+                                  },
+                                  "runAsUser": {
+                                    "description": "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext.  If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows.",
+                                    "format": "int64",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "seLinuxOptions": {
+                                    "description": "SELinuxOptions are the labels to be applied to the container",
+                                    "properties": {
+                                      "level": {
+                                        "description": "Level is SELinux level label that applies to the container.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "role": {
+                                        "description": "Role is a SELinux role label that applies to the container.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "type": {
+                                        "description": "Type is a SELinux type label that applies to the container.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "user": {
+                                        "description": "User is a SELinux user label that applies to the container.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      }
+                                    },
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "seccompProfile": {
+                                    "description": "SeccompProfile defines a pod/container's seccomp profile settings. Only one profile source may be set.",
+                                    "properties": {
+                                      "localhostProfile": {
+                                        "description": "localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must be set if type is \"Localhost\". Must NOT be set for any other type.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "type": {
+                                        "description": "type indicates which kind of seccomp profile will be applied. Valid options are:\n\nLocalhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied.",
+                                        "type": "string"
+                                      }
+                                    },
+                                    "required": [
+                                      "type"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "x-kubernetes-unions": [
+                                      {
+                                        "discriminator": "type",
+                                        "fields-to-discriminateBy": {
+                                          "localhostProfile": "LocalhostProfile"
+                                        }
+                                      }
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "windowsOptions": {
+                                    "description": "WindowsSecurityContextOptions contain Windows-specific options and credentials.",
+                                    "properties": {
+                                      "gmsaCredentialSpec": {
+                                        "description": "GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "gmsaCredentialSpecName": {
+                                        "description": "GMSACredentialSpecName is the name of the GMSA credential spec to use.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "hostProcess": {
+                                        "description": "HostProcess determines if a container should be run as a 'Host Process' container. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true.",
+                                        "type": [
+                                          "boolean",
+                                          "null"
+                                        ]
+                                      },
+                                      "runAsUserName": {
+                                        "description": "The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      }
+                                    },
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  }
+                                },
+                                "type": [
+                                  "object",
+                                  "null"
+                                ],
+                                "additionalProperties": false
+                              },
+                              "startupProbe": {
+                                "description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.",
+                                "properties": {
+                                  "exec": {
+                                    "description": "ExecAction describes a \"run in container\" action.",
+                                    "properties": {
+                                      "command": {
+                                        "description": "Command is the command line to execute inside the container, the working directory for the command  is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.",
+                                        "items": {
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        "type": [
+                                          "array",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-list-type": "atomic"
+                                      }
+                                    },
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "failureThreshold": {
+                                    "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "grpc": {
+                                    "description": "GRPCAction specifies an action involving a GRPC service.",
+                                    "properties": {
+                                      "port": {
+                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
+                                        "format": "int32",
+                                        "type": "integer"
+                                      },
+                                      "service": {
+                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      }
+                                    },
+                                    "required": [
+                                      "port"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "httpGet": {
+                                    "description": "HTTPGetAction describes an action based on HTTP Get requests.",
+                                    "properties": {
+                                      "host": {
+                                        "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "httpHeaders": {
+                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
+                                        "items": {
+                                          "description": "HTTPHeader describes a custom header to be used in HTTP probes",
+                                          "properties": {
+                                            "name": {
+                                              "description": "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.",
+                                              "type": "string"
+                                            },
+                                            "value": {
+                                              "description": "The header field value",
+                                              "type": "string"
+                                            }
+                                          },
+                                          "required": [
+                                            "name",
+                                            "value"
+                                          ],
+                                          "type": [
+                                            "object",
+                                            "null"
+                                          ],
+                                          "additionalProperties": false
+                                        },
+                                        "type": [
+                                          "array",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-list-type": "atomic"
+                                      },
+                                      "path": {
+                                        "description": "Path to access on the HTTP server.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "port": {
+                                        "oneOf": [
+                                          {
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          {
+                                            "type": [
+                                              "integer",
+                                              "null"
+                                            ]
+                                          }
+                                        ]
+                                      },
+                                      "scheme": {
+                                        "description": "Scheme to use for connecting to the host. Defaults to HTTP.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      }
+                                    },
+                                    "required": [
+                                      "port"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "initialDelaySeconds": {
+                                    "description": "Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "periodSeconds": {
+                                    "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "successThreshold": {
+                                    "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "tcpSocket": {
+                                    "description": "TCPSocketAction describes an action based on opening a socket",
+                                    "properties": {
+                                      "host": {
+                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "port": {
+                                        "oneOf": [
+                                          {
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          {
+                                            "type": [
+                                              "integer",
+                                              "null"
+                                            ]
+                                          }
+                                        ]
+                                      }
+                                    },
+                                    "required": [
+                                      "port"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "terminationGracePeriodSeconds": {
+                                    "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value [...]
+                                    "format": "int64",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "timeoutSeconds": {
+                                    "description": "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  }
+                                },
+                                "type": [
+                                  "object",
+                                  "null"
+                                ],
+                                "additionalProperties": false
+                              },
+                              "stdin": {
+                                "description": "Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.",
+                                "type": [
+                                  "boolean",
+                                  "null"
+                                ]
+                              },
+                              "stdinOnce": {
+                                "description": "Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the containe [...]
+                                "type": [
+                                  "boolean",
+                                  "null"
+                                ]
+                              },
+                              "terminationMessagePath": {
+                                "description": "Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.",
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              },
+                              "terminationMessagePolicy": {
+                                "description": "Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.",
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              },
+                              "tty": {
+                                "description": "Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false.",
+                                "type": [
+                                  "boolean",
+                                  "null"
+                                ]
+                              },
+                              "volumeDevices": {
+                                "description": "volumeDevices is the list of block devices to be used by the container.",
+                                "items": {
+                                  "description": "volumeDevice describes a mapping of a raw block device within a container.",
+                                  "properties": {
+                                    "devicePath": {
+                                      "description": "devicePath is the path inside of the container that the device will be mapped to.",
+                                      "type": "string"
+                                    },
+                                    "name": {
+                                      "description": "name must match the name of a persistentVolumeClaim in the pod",
+                                      "type": "string"
+                                    }
+                                  },
+                                  "required": [
+                                    "name",
+                                    "devicePath"
+                                  ],
+                                  "type": [
+                                    "object",
+                                    "null"
+                                  ],
+                                  "additionalProperties": false
+                                },
+                                "type": [
+                                  "array",
+                                  "null"
+                                ],
+                                "x-kubernetes-list-map-keys": [
+                                  "devicePath"
+                                ],
+                                "x-kubernetes-list-type": "map",
+                                "x-kubernetes-patch-merge-key": "devicePath",
+                                "x-kubernetes-patch-strategy": "merge"
+                              },
+                              "volumeMounts": {
+                                "description": "Pod volumes to mount into the container's filesystem. Cannot be updated.",
+                                "items": {
+                                  "description": "VolumeMount describes a mounting of a Volume within a container.",
+                                  "properties": {
+                                    "mountPath": {
+                                      "description": "Path within the container at which the volume should be mounted.  Must not contain ':'.",
+                                      "type": "string"
+                                    },
+                                    "mountPropagation": {
+                                      "description": "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified (which defaults to None).",
+                                      "type": [
+                                        "string",
+                                        "null"
+                                      ]
+                                    },
+                                    "name": {
+                                      "description": "This must match the Name of a Volume.",
+                                      "type": "string"
+                                    },
+                                    "readOnly": {
+                                      "description": "Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.",
+                                      "type": [
+                                        "boolean",
+                                        "null"
+                                      ]
+                                    },
+                                    "recursiveReadOnly": {
+                                      "description": "RecursiveReadOnly specifies whether read-only mounts should be handled recursively.\n\nIf ReadOnly is false, this field has no meaning and must be unspecified.\n\nIf ReadOnly is true, and this field is set to Disabled, the mount is not made recursively read-only.  If this field is set to IfPossible, the mount is made recursively read-only, if it is supported by the container runtime.  If this field is set to Enabled, the mount is made [...]
+                                      "type": [
+                                        "string",
+                                        "null"
+                                      ]
+                                    },
+                                    "subPath": {
+                                      "description": "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root).",
+                                      "type": [
+                                        "string",
+                                        "null"
+                                      ]
+                                    },
+                                    "subPathExpr": {
+                                      "description": "Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to \"\" (volume's root). SubPathExpr and SubPath are mutually exclusive.",
+                                      "type": [
+                                        "string",
+                                        "null"
+                                      ]
+                                    }
+                                  },
+                                  "required": [
+                                    "name",
+                                    "mountPath"
+                                  ],
+                                  "type": [
+                                    "object",
+                                    "null"
+                                  ],
+                                  "additionalProperties": false
+                                },
+                                "type": [
+                                  "array",
+                                  "null"
+                                ],
+                                "x-kubernetes-list-map-keys": [
+                                  "mountPath"
+                                ],
+                                "x-kubernetes-list-type": "map",
+                                "x-kubernetes-patch-merge-key": "mountPath",
+                                "x-kubernetes-patch-strategy": "merge"
+                              },
+                              "workingDir": {
+                                "description": "Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated.",
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              }
+                            },
+                            "required": [
+                              "name"
+                            ],
+                            "type": [
+                              "object",
+                              "null"
+                            ],
+                            "additionalProperties": false
+                          },
+                          "type": "array",
+                          "x-kubernetes-list-map-keys": [
+                            "name"
+                          ],
+                          "x-kubernetes-list-type": "map",
+                          "x-kubernetes-patch-merge-key": "name",
+                          "x-kubernetes-patch-strategy": "merge"
+                        },
+                        "dnsConfig": {
+                          "description": "PodDNSConfig defines the DNS parameters of a pod in addition to those generated from DNSPolicy.",
+                          "properties": {
+                            "nameservers": {
+                              "description": "A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed.",
+                              "items": {
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              },
+                              "type": [
+                                "array",
+                                "null"
+                              ],
+                              "x-kubernetes-list-type": "atomic"
+                            },
+                            "options": {
+                              "description": "A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.",
+                              "items": {
+                                "description": "PodDNSConfigOption defines DNS resolver options of a pod.",
+                                "properties": {
+                                  "name": {
+                                    "description": "Name is this DNS resolver option's name. Required.",
+                                    "type": [
+                                      "string",
+                                      "null"
+                                    ]
+                                  },
+                                  "value": {
+                                    "description": "Value is this DNS resolver option's value.",
+                                    "type": [
+                                      "string",
+                                      "null"
+                                    ]
+                                  }
+                                },
+                                "type": [
+                                  "object",
+                                  "null"
+                                ],
+                                "additionalProperties": false
+                              },
+                              "type": [
+                                "array",
+                                "null"
+                              ],
+                              "x-kubernetes-list-type": "atomic"
+                            },
+                            "searches": {
+                              "description": "A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.",
+                              "items": {
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              },
+                              "type": [
+                                "array",
+                                "null"
+                              ],
+                              "x-kubernetes-list-type": "atomic"
+                            }
+                          },
+                          "type": [
+                            "object",
+                            "null"
+                          ],
+                          "additionalProperties": false
+                        },
+                        "dnsPolicy": {
+                          "description": "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.",
+                          "type": [
+                            "string",
+                            "null"
+                          ]
+                        },
+                        "enableServiceLinks": {
+                          "description": "EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true.",
+                          "type": [
+                            "boolean",
+                            "null"
+                          ]
+                        },
+                        "ephemeralContainers": {
+                          "description": "List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing pod to perform user-initiated actions such as debugging. This list cannot be specified when creating a pod, and it cannot be modified by updating the pod spec. In order to add an ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource.",
+                          "items": {
+                            "description": "An EphemeralContainer is a temporary container that you may add to an existing Pod for user-initiated activities such as debugging. Ephemeral containers have no resource or scheduling guarantees, and they will not be restarted when they exit or when a Pod is removed or restarted. The kubelet may evict a Pod if an ephemeral container causes the Pod to exceed its resource allocation.\n\nTo add an ephemeral container, use the ephemeralcontainers s [...]
+                            "properties": {
+                              "args": {
+                                "description": "Arguments to the entrypoint. The image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded [...]
+                                "items": {
+                                  "type": [
+                                    "string",
+                                    "null"
+                                  ]
+                                },
+                                "type": [
+                                  "array",
+                                  "null"
+                                ],
+                                "x-kubernetes-list-type": "atomic"
+                              },
+                              "command": {
+                                "description": "Entrypoint array. Not executed within a shell. The image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped referenc [...]
+                                "items": {
+                                  "type": [
+                                    "string",
+                                    "null"
+                                  ]
+                                },
+                                "type": [
+                                  "array",
+                                  "null"
+                                ],
+                                "x-kubernetes-list-type": "atomic"
+                              },
+                              "env": {
+                                "description": "List of environment variables to set in the container. Cannot be updated.",
+                                "items": {
+                                  "description": "EnvVar represents an environment variable present in a Container.",
+                                  "properties": {
+                                    "name": {
+                                      "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
+                                      "type": "string"
+                                    },
+                                    "value": {
+                                      "description": "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded [...]
+                                      "type": [
+                                        "string",
+                                        "null"
+                                      ]
+                                    },
+                                    "valueFrom": {
+                                      "description": "EnvVarSource represents a source for the value of an EnvVar.",
+                                      "properties": {
+                                        "configMapKeyRef": {
+                                          "description": "Selects a key from a ConfigMap.",
+                                          "properties": {
+                                            "key": {
+                                              "description": "The key to select.",
+                                              "type": "string"
+                                            },
+                                            "name": {
+                                              "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "optional": {
+                                              "description": "Specify whether the ConfigMap or its key must be defined",
+                                              "type": [
+                                                "boolean",
+                                                "null"
+                                              ]
+                                            }
+                                          },
+                                          "required": [
+                                            "key"
+                                          ],
+                                          "type": [
+                                            "object",
+                                            "null"
+                                          ],
+                                          "x-kubernetes-map-type": "atomic",
+                                          "additionalProperties": false
+                                        },
+                                        "fieldRef": {
+                                          "description": "ObjectFieldSelector selects an APIVersioned field of an object.",
+                                          "properties": {
+                                            "apiVersion": {
+                                              "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "fieldPath": {
+                                              "description": "Path of the field to select in the specified API version.",
+                                              "type": "string"
+                                            }
+                                          },
+                                          "required": [
+                                            "fieldPath"
+                                          ],
+                                          "type": [
+                                            "object",
+                                            "null"
+                                          ],
+                                          "x-kubernetes-map-type": "atomic",
+                                          "additionalProperties": false
+                                        },
+                                        "resourceFieldRef": {
+                                          "description": "ResourceFieldSelector represents container resources (cpu, memory) and their output format",
+                                          "properties": {
+                                            "containerName": {
+                                              "description": "Container name: required for volumes, optional for env vars",
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "divisor": {
+                                              "oneOf": [
+                                                {
+                                                  "type": [
+                                                    "string",
+                                                    "null"
+                                                  ]
+                                                },
+                                                {
+                                                  "type": [
+                                                    "number",
+                                                    "null"
+                                                  ]
+                                                }
+                                              ]
+                                            },
+                                            "resource": {
+                                              "description": "Required: resource to select",
+                                              "type": "string"
+                                            }
+                                          },
+                                          "required": [
+                                            "resource"
+                                          ],
+                                          "type": [
+                                            "object",
+                                            "null"
+                                          ],
+                                          "x-kubernetes-map-type": "atomic",
+                                          "additionalProperties": false
+                                        },
+                                        "secretKeyRef": {
+                                          "description": "SecretKeySelector selects a key of a Secret.",
+                                          "properties": {
+                                            "key": {
+                                              "description": "The key of the secret to select from.  Must be a valid secret key.",
+                                              "type": "string"
+                                            },
+                                            "name": {
+                                              "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "optional": {
+                                              "description": "Specify whether the Secret or its key must be defined",
+                                              "type": [
+                                                "boolean",
+                                                "null"
+                                              ]
+                                            }
+                                          },
+                                          "required": [
+                                            "key"
+                                          ],
+                                          "type": [
+                                            "object",
+                                            "null"
+                                          ],
+                                          "x-kubernetes-map-type": "atomic",
+                                          "additionalProperties": false
+                                        }
+                                      },
+                                      "type": [
+                                        "object",
+                                        "null"
+                                      ],
+                                      "additionalProperties": false
+                                    }
+                                  },
+                                  "required": [
+                                    "name"
+                                  ],
+                                  "type": [
+                                    "object",
+                                    "null"
+                                  ],
+                                  "additionalProperties": false
+                                },
+                                "type": [
+                                  "array",
+                                  "null"
+                                ],
+                                "x-kubernetes-list-map-keys": [
+                                  "name"
+                                ],
+                                "x-kubernetes-list-type": "map",
+                                "x-kubernetes-patch-merge-key": "name",
+                                "x-kubernetes-patch-strategy": "merge"
+                              },
+                              "envFrom": {
+                                "description": "List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.",
+                                "items": {
+                                  "description": "EnvFromSource represents the source of a set of ConfigMaps",
+                                  "properties": {
+                                    "configMapRef": {
+                                      "description": "ConfigMapEnvSource selects a ConfigMap to populate the environment variables with.\n\nThe contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.",
+                                      "properties": {
+                                        "name": {
+                                          "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        "optional": {
+                                          "description": "Specify whether the ConfigMap must be defined",
+                                          "type": [
+                                            "boolean",
+                                            "null"
+                                          ]
+                                        }
+                                      },
+                                      "type": [
+                                        "object",
+                                        "null"
+                                      ],
+                                      "additionalProperties": false
+                                    },
+                                    "prefix": {
+                                      "description": "An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.",
+                                      "type": [
+                                        "string",
+                                        "null"
+                                      ]
+                                    },
+                                    "secretRef": {
+                                      "description": "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.",
+                                      "properties": {
+                                        "name": {
+                                          "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        "optional": {
+                                          "description": "Specify whether the Secret must be defined",
+                                          "type": [
+                                            "boolean",
+                                            "null"
+                                          ]
+                                        }
+                                      },
+                                      "type": [
+                                        "object",
+                                        "null"
+                                      ],
+                                      "additionalProperties": false
+                                    }
+                                  },
+                                  "type": [
+                                    "object",
+                                    "null"
+                                  ],
+                                  "additionalProperties": false
+                                },
+                                "type": [
+                                  "array",
+                                  "null"
+                                ],
+                                "x-kubernetes-list-type": "atomic"
+                              },
+                              "image": {
+                                "description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images",
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              },
+                              "imagePullPolicy": {
+                                "description": "Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images",
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              },
+                              "lifecycle": {
+                                "description": "Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted.",
+                                "properties": {
+                                  "postStart": {
+                                    "description": "LifecycleHandler defines a specific action that should be taken in a lifecycle hook. One and only one of the fields, except TCPSocket must be specified.",
+                                    "properties": {
+                                      "exec": {
+                                        "description": "ExecAction describes a \"run in container\" action.",
+                                        "properties": {
+                                          "command": {
+                                            "description": "Command is the command line to execute inside the container, the working directory for the command  is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.",
+                                            "items": {
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          }
+                                        },
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      },
+                                      "httpGet": {
+                                        "description": "HTTPGetAction describes an action based on HTTP Get requests.",
+                                        "properties": {
+                                          "host": {
+                                            "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          "httpHeaders": {
+                                            "description": "Custom headers to set in the request. HTTP allows repeated headers.",
+                                            "items": {
+                                              "description": "HTTPHeader describes a custom header to be used in HTTP probes",
+                                              "properties": {
+                                                "name": {
+                                                  "description": "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.",
+                                                  "type": "string"
+                                                },
+                                                "value": {
+                                                  "description": "The header field value",
+                                                  "type": "string"
+                                                }
+                                              },
+                                              "required": [
+                                                "name",
+                                                "value"
+                                              ],
+                                              "type": [
+                                                "object",
+                                                "null"
+                                              ],
+                                              "additionalProperties": false
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          },
+                                          "path": {
+                                            "description": "Path to access on the HTTP server.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          "port": {
+                                            "oneOf": [
+                                              {
+                                                "type": [
+                                                  "string",
+                                                  "null"
+                                                ]
+                                              },
+                                              {
+                                                "type": [
+                                                  "integer",
+                                                  "null"
+                                                ]
+                                              }
+                                            ]
+                                          },
+                                          "scheme": {
+                                            "description": "Scheme to use for connecting to the host. Defaults to HTTP.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          }
+                                        },
+                                        "required": [
+                                          "port"
+                                        ],
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      },
+                                      "sleep": {
+                                        "description": "SleepAction describes a \"sleep\" action.",
+                                        "properties": {
+                                          "seconds": {
+                                            "description": "Seconds is the number of seconds to sleep.",
+                                            "format": "int64",
+                                            "type": "integer"
+                                          }
+                                        },
+                                        "required": [
+                                          "seconds"
+                                        ],
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      },
+                                      "tcpSocket": {
+                                        "description": "TCPSocketAction describes an action based on opening a socket",
+                                        "properties": {
+                                          "host": {
+                                            "description": "Optional: Host name to connect to, defaults to the pod IP.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          "port": {
+                                            "oneOf": [
+                                              {
+                                                "type": [
+                                                  "string",
+                                                  "null"
+                                                ]
+                                              },
+                                              {
+                                                "type": [
+                                                  "integer",
+                                                  "null"
+                                                ]
+                                              }
+                                            ]
+                                          }
+                                        },
+                                        "required": [
+                                          "port"
+                                        ],
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      }
+                                    },
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "preStop": {
+                                    "description": "LifecycleHandler defines a specific action that should be taken in a lifecycle hook. One and only one of the fields, except TCPSocket must be specified.",
+                                    "properties": {
+                                      "exec": {
+                                        "description": "ExecAction describes a \"run in container\" action.",
+                                        "properties": {
+                                          "command": {
+                                            "description": "Command is the command line to execute inside the container, the working directory for the command  is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.",
+                                            "items": {
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          }
+                                        },
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      },
+                                      "httpGet": {
+                                        "description": "HTTPGetAction describes an action based on HTTP Get requests.",
+                                        "properties": {
+                                          "host": {
+                                            "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          "httpHeaders": {
+                                            "description": "Custom headers to set in the request. HTTP allows repeated headers.",
+                                            "items": {
+                                              "description": "HTTPHeader describes a custom header to be used in HTTP probes",
+                                              "properties": {
+                                                "name": {
+                                                  "description": "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.",
+                                                  "type": "string"
+                                                },
+                                                "value": {
+                                                  "description": "The header field value",
+                                                  "type": "string"
+                                                }
+                                              },
+                                              "required": [
+                                                "name",
+                                                "value"
+                                              ],
+                                              "type": [
+                                                "object",
+                                                "null"
+                                              ],
+                                              "additionalProperties": false
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          },
+                                          "path": {
+                                            "description": "Path to access on the HTTP server.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          "port": {
+                                            "oneOf": [
+                                              {
+                                                "type": [
+                                                  "string",
+                                                  "null"
+                                                ]
+                                              },
+                                              {
+                                                "type": [
+                                                  "integer",
+                                                  "null"
+                                                ]
+                                              }
+                                            ]
+                                          },
+                                          "scheme": {
+                                            "description": "Scheme to use for connecting to the host. Defaults to HTTP.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          }
+                                        },
+                                        "required": [
+                                          "port"
+                                        ],
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      },
+                                      "sleep": {
+                                        "description": "SleepAction describes a \"sleep\" action.",
+                                        "properties": {
+                                          "seconds": {
+                                            "description": "Seconds is the number of seconds to sleep.",
+                                            "format": "int64",
+                                            "type": "integer"
+                                          }
+                                        },
+                                        "required": [
+                                          "seconds"
+                                        ],
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      },
+                                      "tcpSocket": {
+                                        "description": "TCPSocketAction describes an action based on opening a socket",
+                                        "properties": {
+                                          "host": {
+                                            "description": "Optional: Host name to connect to, defaults to the pod IP.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          "port": {
+                                            "oneOf": [
+                                              {
+                                                "type": [
+                                                  "string",
+                                                  "null"
+                                                ]
+                                              },
+                                              {
+                                                "type": [
+                                                  "integer",
+                                                  "null"
+                                                ]
+                                              }
+                                            ]
+                                          }
+                                        },
+                                        "required": [
+                                          "port"
+                                        ],
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      }
+                                    },
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  }
+                                },
+                                "type": [
+                                  "object",
+                                  "null"
+                                ],
+                                "additionalProperties": false
+                              },
+                              "livenessProbe": {
+                                "description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.",
+                                "properties": {
+                                  "exec": {
+                                    "description": "ExecAction describes a \"run in container\" action.",
+                                    "properties": {
+                                      "command": {
+                                        "description": "Command is the command line to execute inside the container, the working directory for the command  is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.",
+                                        "items": {
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        "type": [
+                                          "array",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-list-type": "atomic"
+                                      }
+                                    },
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "failureThreshold": {
+                                    "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "grpc": {
+                                    "description": "GRPCAction specifies an action involving a GRPC service.",
+                                    "properties": {
+                                      "port": {
+                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
+                                        "format": "int32",
+                                        "type": "integer"
+                                      },
+                                      "service": {
+                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      }
+                                    },
+                                    "required": [
+                                      "port"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "httpGet": {
+                                    "description": "HTTPGetAction describes an action based on HTTP Get requests.",
+                                    "properties": {
+                                      "host": {
+                                        "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "httpHeaders": {
+                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
+                                        "items": {
+                                          "description": "HTTPHeader describes a custom header to be used in HTTP probes",
+                                          "properties": {
+                                            "name": {
+                                              "description": "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.",
+                                              "type": "string"
+                                            },
+                                            "value": {
+                                              "description": "The header field value",
+                                              "type": "string"
+                                            }
+                                          },
+                                          "required": [
+                                            "name",
+                                            "value"
+                                          ],
+                                          "type": [
+                                            "object",
+                                            "null"
+                                          ],
+                                          "additionalProperties": false
+                                        },
+                                        "type": [
+                                          "array",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-list-type": "atomic"
+                                      },
+                                      "path": {
+                                        "description": "Path to access on the HTTP server.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "port": {
+                                        "oneOf": [
+                                          {
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          {
+                                            "type": [
+                                              "integer",
+                                              "null"
+                                            ]
+                                          }
+                                        ]
+                                      },
+                                      "scheme": {
+                                        "description": "Scheme to use for connecting to the host. Defaults to HTTP.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      }
+                                    },
+                                    "required": [
+                                      "port"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "initialDelaySeconds": {
+                                    "description": "Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "periodSeconds": {
+                                    "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "successThreshold": {
+                                    "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "tcpSocket": {
+                                    "description": "TCPSocketAction describes an action based on opening a socket",
+                                    "properties": {
+                                      "host": {
+                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "port": {
+                                        "oneOf": [
+                                          {
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          {
+                                            "type": [
+                                              "integer",
+                                              "null"
+                                            ]
+                                          }
+                                        ]
+                                      }
+                                    },
+                                    "required": [
+                                      "port"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "terminationGracePeriodSeconds": {
+                                    "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value [...]
+                                    "format": "int64",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "timeoutSeconds": {
+                                    "description": "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  }
+                                },
+                                "type": [
+                                  "object",
+                                  "null"
+                                ],
+                                "additionalProperties": false
+                              },
+                              "name": {
+                                "description": "Name of the ephemeral container specified as a DNS_LABEL. This name must be unique among all containers, init containers and ephemeral containers.",
+                                "type": "string"
+                              },
+                              "ports": {
+                                "description": "Ports are not allowed for ephemeral containers.",
+                                "items": {
+                                  "description": "ContainerPort represents a network port in a single container.",
+                                  "properties": {
+                                    "containerPort": {
+                                      "description": "Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536.",
+                                      "format": "int32",
+                                      "type": "integer"
+                                    },
+                                    "hostIP": {
+                                      "description": "What host IP to bind the external port to.",
+                                      "type": [
+                                        "string",
+                                        "null"
+                                      ]
+                                    },
+                                    "hostPort": {
+                                      "description": "Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.",
+                                      "format": "int32",
+                                      "type": [
+                                        "integer",
+                                        "null"
+                                      ]
+                                    },
+                                    "name": {
+                                      "description": "If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.",
+                                      "type": [
+                                        "string",
+                                        "null"
+                                      ]
+                                    },
+                                    "protocol": {
+                                      "description": "Protocol for port. Must be UDP, TCP, or SCTP. Defaults to \"TCP\".",
+                                      "type": [
+                                        "string",
+                                        "null"
+                                      ]
+                                    }
+                                  },
+                                  "required": [
+                                    "containerPort"
+                                  ],
+                                  "type": [
+                                    "object",
+                                    "null"
+                                  ],
+                                  "additionalProperties": false
+                                },
+                                "type": [
+                                  "array",
+                                  "null"
+                                ],
+                                "x-kubernetes-list-map-keys": [
+                                  "containerPort",
+                                  "protocol"
+                                ],
+                                "x-kubernetes-list-type": "map",
+                                "x-kubernetes-patch-merge-key": "containerPort",
+                                "x-kubernetes-patch-strategy": "merge"
+                              },
+                              "readinessProbe": {
+                                "description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.",
+                                "properties": {
+                                  "exec": {
+                                    "description": "ExecAction describes a \"run in container\" action.",
+                                    "properties": {
+                                      "command": {
+                                        "description": "Command is the command line to execute inside the container, the working directory for the command  is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.",
+                                        "items": {
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        "type": [
+                                          "array",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-list-type": "atomic"
+                                      }
+                                    },
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "failureThreshold": {
+                                    "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "grpc": {
+                                    "description": "GRPCAction specifies an action involving a GRPC service.",
+                                    "properties": {
+                                      "port": {
+                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
+                                        "format": "int32",
+                                        "type": "integer"
+                                      },
+                                      "service": {
+                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      }
+                                    },
+                                    "required": [
+                                      "port"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "httpGet": {
+                                    "description": "HTTPGetAction describes an action based on HTTP Get requests.",
+                                    "properties": {
+                                      "host": {
+                                        "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "httpHeaders": {
+                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
+                                        "items": {
+                                          "description": "HTTPHeader describes a custom header to be used in HTTP probes",
+                                          "properties": {
+                                            "name": {
+                                              "description": "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.",
+                                              "type": "string"
+                                            },
+                                            "value": {
+                                              "description": "The header field value",
+                                              "type": "string"
+                                            }
+                                          },
+                                          "required": [
+                                            "name",
+                                            "value"
+                                          ],
+                                          "type": [
+                                            "object",
+                                            "null"
+                                          ],
+                                          "additionalProperties": false
+                                        },
+                                        "type": [
+                                          "array",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-list-type": "atomic"
+                                      },
+                                      "path": {
+                                        "description": "Path to access on the HTTP server.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "port": {
+                                        "oneOf": [
+                                          {
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          {
+                                            "type": [
+                                              "integer",
+                                              "null"
+                                            ]
+                                          }
+                                        ]
+                                      },
+                                      "scheme": {
+                                        "description": "Scheme to use for connecting to the host. Defaults to HTTP.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      }
+                                    },
+                                    "required": [
+                                      "port"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "initialDelaySeconds": {
+                                    "description": "Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "periodSeconds": {
+                                    "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "successThreshold": {
+                                    "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "tcpSocket": {
+                                    "description": "TCPSocketAction describes an action based on opening a socket",
+                                    "properties": {
+                                      "host": {
+                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "port": {
+                                        "oneOf": [
+                                          {
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          {
+                                            "type": [
+                                              "integer",
+                                              "null"
+                                            ]
+                                          }
+                                        ]
+                                      }
+                                    },
+                                    "required": [
+                                      "port"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "terminationGracePeriodSeconds": {
+                                    "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value [...]
+                                    "format": "int64",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "timeoutSeconds": {
+                                    "description": "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  }
+                                },
+                                "type": [
+                                  "object",
+                                  "null"
+                                ],
+                                "additionalProperties": false
+                              },
+                              "resizePolicy": {
+                                "description": "Resources resize policy for the container.",
+                                "items": {
+                                  "description": "ContainerResizePolicy represents resource resize policy for the container.",
+                                  "properties": {
+                                    "resourceName": {
+                                      "description": "Name of the resource to which this resource resize policy applies. Supported values: cpu, memory.",
+                                      "type": "string"
+                                    },
+                                    "restartPolicy": {
+                                      "description": "Restart policy to apply when specified resource is resized. If not specified, it defaults to NotRequired.",
+                                      "type": "string"
+                                    }
+                                  },
+                                  "required": [
+                                    "resourceName",
+                                    "restartPolicy"
+                                  ],
+                                  "type": [
+                                    "object",
+                                    "null"
+                                  ],
+                                  "additionalProperties": false
+                                },
+                                "type": [
+                                  "array",
+                                  "null"
+                                ],
+                                "x-kubernetes-list-type": "atomic"
+                              },
+                              "resources": {
+                                "description": "ResourceRequirements describes the compute resource requirements.",
+                                "properties": {
+                                  "claims": {
+                                    "description": "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.\n\nThis is an alpha field and requires enabling the DynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
+                                    "items": {
+                                      "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
+                                      "properties": {
+                                        "name": {
+                                          "description": "Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.",
+                                          "type": "string"
+                                        },
+                                        "request": {
+                                          "description": "Request is the name chosen for a request in the referenced claim. If empty, everything from the claim is made available, otherwise only the result of this request.",
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        }
+                                      },
+                                      "required": [
+                                        "name"
+                                      ],
+                                      "type": [
+                                        "object",
+                                        "null"
+                                      ],
+                                      "additionalProperties": false
+                                    },
+                                    "type": [
+                                      "array",
+                                      "null"
+                                    ],
+                                    "x-kubernetes-list-map-keys": [
+                                      "name"
+                                    ],
+                                    "x-kubernetes-list-type": "map"
+                                  },
+                                  "limits": {
+                                    "additionalProperties": {
+                                      "oneOf": [
+                                        {
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        {
+                                          "type": [
+                                            "number",
+                                            "null"
+                                          ]
+                                        }
+                                      ]
+                                    },
+                                    "description": "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ]
+                                  },
+                                  "requests": {
+                                    "additionalProperties": {
+                                      "oneOf": [
+                                        {
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        {
+                                          "type": [
+                                            "number",
+                                            "null"
+                                          ]
+                                        }
+                                      ]
+                                    },
+                                    "description": "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ]
+                                  }
+                                },
+                                "type": [
+                                  "object",
+                                  "null"
+                                ],
+                                "additionalProperties": false
+                              },
+                              "restartPolicy": {
+                                "description": "Restart policy for the container to manage the restart behavior of each container within a pod. This may only be set for init containers. You cannot set this field on ephemeral containers.",
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              },
+                              "securityContext": {
+                                "description": "SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext.  When both are set, the values in SecurityContext take precedence.",
+                                "properties": {
+                                  "allowPrivilegeEscalation": {
+                                    "description": "AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows.",
+                                    "type": [
+                                      "boolean",
+                                      "null"
+                                    ]
+                                  },
+                                  "appArmorProfile": {
+                                    "description": "AppArmorProfile defines a pod or container's AppArmor settings.",
+                                    "properties": {
+                                      "localhostProfile": {
+                                        "description": "localhostProfile indicates a profile loaded on the node that should be used. The profile must be preconfigured on the node to work. Must match the loaded name of the profile. Must be set if and only if type is \"Localhost\".",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "type": {
+                                        "description": "type indicates which kind of AppArmor profile will be applied. Valid options are:\n  Localhost - a profile pre-loaded on the node.\n  RuntimeDefault - the container runtime's default profile.\n  Unconfined - no AppArmor enforcement.",
+                                        "type": "string"
+                                      }
+                                    },
+                                    "required": [
+                                      "type"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "x-kubernetes-unions": [
+                                      {
+                                        "discriminator": "type",
+                                        "fields-to-discriminateBy": {
+                                          "localhostProfile": "LocalhostProfile"
+                                        }
+                                      }
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "capabilities": {
+                                    "description": "Adds and removes POSIX capabilities from running containers.",
+                                    "properties": {
+                                      "add": {
+                                        "description": "Added capabilities",
+                                        "items": {
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        "type": [
+                                          "array",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-list-type": "atomic"
+                                      },
+                                      "drop": {
+                                        "description": "Removed capabilities",
+                                        "items": {
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        "type": [
+                                          "array",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-list-type": "atomic"
+                                      }
+                                    },
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "privileged": {
+                                    "description": "Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. Note that this field cannot be set when spec.os.name is windows.",
+                                    "type": [
+                                      "boolean",
+                                      "null"
+                                    ]
+                                  },
+                                  "procMount": {
+                                    "description": "procMount denotes the type of proc mount to use for the containers. The default value is Default which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows.",
+                                    "type": [
+                                      "string",
+                                      "null"
+                                    ]
+                                  },
+                                  "readOnlyRootFilesystem": {
+                                    "description": "Whether this container has a read-only root filesystem. Default is false. Note that this field cannot be set when spec.os.name is windows.",
+                                    "type": [
+                                      "boolean",
+                                      "null"
+                                    ]
+                                  },
+                                  "runAsGroup": {
+                                    "description": "The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext.  If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows.",
+                                    "format": "int64",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "runAsNonRoot": {
+                                    "description": "Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext.  If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.",
+                                    "type": [
+                                      "boolean",
+                                      "null"
+                                    ]
+                                  },
+                                  "runAsUser": {
+                                    "description": "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext.  If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows.",
+                                    "format": "int64",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "seLinuxOptions": {
+                                    "description": "SELinuxOptions are the labels to be applied to the container",
+                                    "properties": {
+                                      "level": {
+                                        "description": "Level is SELinux level label that applies to the container.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "role": {
+                                        "description": "Role is a SELinux role label that applies to the container.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "type": {
+                                        "description": "Type is a SELinux type label that applies to the container.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "user": {
+                                        "description": "User is a SELinux user label that applies to the container.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      }
+                                    },
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "seccompProfile": {
+                                    "description": "SeccompProfile defines a pod/container's seccomp profile settings. Only one profile source may be set.",
+                                    "properties": {
+                                      "localhostProfile": {
+                                        "description": "localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must be set if type is \"Localhost\". Must NOT be set for any other type.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "type": {
+                                        "description": "type indicates which kind of seccomp profile will be applied. Valid options are:\n\nLocalhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied.",
+                                        "type": "string"
+                                      }
+                                    },
+                                    "required": [
+                                      "type"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "x-kubernetes-unions": [
+                                      {
+                                        "discriminator": "type",
+                                        "fields-to-discriminateBy": {
+                                          "localhostProfile": "LocalhostProfile"
+                                        }
+                                      }
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "windowsOptions": {
+                                    "description": "WindowsSecurityContextOptions contain Windows-specific options and credentials.",
+                                    "properties": {
+                                      "gmsaCredentialSpec": {
+                                        "description": "GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "gmsaCredentialSpecName": {
+                                        "description": "GMSACredentialSpecName is the name of the GMSA credential spec to use.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "hostProcess": {
+                                        "description": "HostProcess determines if a container should be run as a 'Host Process' container. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true.",
+                                        "type": [
+                                          "boolean",
+                                          "null"
+                                        ]
+                                      },
+                                      "runAsUserName": {
+                                        "description": "The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      }
+                                    },
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  }
+                                },
+                                "type": [
+                                  "object",
+                                  "null"
+                                ],
+                                "additionalProperties": false
+                              },
+                              "startupProbe": {
+                                "description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.",
+                                "properties": {
+                                  "exec": {
+                                    "description": "ExecAction describes a \"run in container\" action.",
+                                    "properties": {
+                                      "command": {
+                                        "description": "Command is the command line to execute inside the container, the working directory for the command  is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.",
+                                        "items": {
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        "type": [
+                                          "array",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-list-type": "atomic"
+                                      }
+                                    },
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "failureThreshold": {
+                                    "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "grpc": {
+                                    "description": "GRPCAction specifies an action involving a GRPC service.",
+                                    "properties": {
+                                      "port": {
+                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
+                                        "format": "int32",
+                                        "type": "integer"
+                                      },
+                                      "service": {
+                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      }
+                                    },
+                                    "required": [
+                                      "port"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "httpGet": {
+                                    "description": "HTTPGetAction describes an action based on HTTP Get requests.",
+                                    "properties": {
+                                      "host": {
+                                        "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "httpHeaders": {
+                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
+                                        "items": {
+                                          "description": "HTTPHeader describes a custom header to be used in HTTP probes",
+                                          "properties": {
+                                            "name": {
+                                              "description": "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.",
+                                              "type": "string"
+                                            },
+                                            "value": {
+                                              "description": "The header field value",
+                                              "type": "string"
+                                            }
+                                          },
+                                          "required": [
+                                            "name",
+                                            "value"
+                                          ],
+                                          "type": [
+                                            "object",
+                                            "null"
+                                          ],
+                                          "additionalProperties": false
+                                        },
+                                        "type": [
+                                          "array",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-list-type": "atomic"
+                                      },
+                                      "path": {
+                                        "description": "Path to access on the HTTP server.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "port": {
+                                        "oneOf": [
+                                          {
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          {
+                                            "type": [
+                                              "integer",
+                                              "null"
+                                            ]
+                                          }
+                                        ]
+                                      },
+                                      "scheme": {
+                                        "description": "Scheme to use for connecting to the host. Defaults to HTTP.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      }
+                                    },
+                                    "required": [
+                                      "port"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "initialDelaySeconds": {
+                                    "description": "Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "periodSeconds": {
+                                    "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "successThreshold": {
+                                    "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "tcpSocket": {
+                                    "description": "TCPSocketAction describes an action based on opening a socket",
+                                    "properties": {
+                                      "host": {
+                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
+                                      "port": {
+                                        "oneOf": [
+                                          {
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          {
+                                            "type": [
+                                              "integer",
+                                              "null"
+                                            ]
+                                          }
+                                        ]
+                                      }
+                                    },
+                                    "required": [
+                                      "port"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "terminationGracePeriodSeconds": {
+                                    "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value [...]
+                                    "format": "int64",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "timeoutSeconds": {
+                                    "description": "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  }
+                                },
+                                "type": [
+                                  "object",
+                                  "null"
+                                ],
+                                "additionalProperties": false
+                              },
+                              "stdin": {
+                                "description": "Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.",
+                                "type": [
+                                  "boolean",
+                                  "null"
+                                ]
+                              },
+                              "stdinOnce": {
+                                "description": "Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the containe [...]
+                                "type": [
+                                  "boolean",
+                                  "null"
+                                ]
+                              },
+                              "targetContainerName": {
+                                "description": "If set, the name of the container from PodSpec that this ephemeral container targets. The ephemeral container will be run in the namespaces (IPC, PID, etc) of this container. If not set then the ephemeral container uses the namespaces configured in the Pod spec.\n\nThe container runtime must implement support for this feature. If the runtime does not support namespace targeting then the result of setting this field is undefined.",
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              },
+                              "terminationMessagePath": {
+                                "description": "Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.",
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              },
+                              "terminationMessagePolicy": {
+                                "description": "Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.",
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              },
+                              "tty": {
+                                "description": "Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false.",
+                                "type": [
+                                  "boolean",
+                                  "null"
+                                ]
+                              },
+                              "volumeDevices": {
+                                "description": "volumeDevices is the list of block devices to be used by the container.",
+                                "items": {
+                                  "description": "volumeDevice describes a mapping of a raw block device within a container.",
+                                  "properties": {
+                                    "devicePath": {
+                                      "description": "devicePath is the path inside of the container that the device will be mapped to.",
+                                      "type": "string"
+                                    },
+                                    "name": {
+                                      "description": "name must match the name of a persistentVolumeClaim in the pod",
+                                      "type": "string"
+                                    }
+                                  },
+                                  "required": [
+                                    "name",
+                                    "devicePath"
+                                  ],
+                                  "type": [
+                                    "object",
+                                    "null"
+                                  ],
+                                  "additionalProperties": false
+                                },
+                                "type": [
+                                  "array",
+                                  "null"
+                                ],
+                                "x-kubernetes-list-map-keys": [
+                                  "devicePath"
+                                ],
+                                "x-kubernetes-list-type": "map",
+                                "x-kubernetes-patch-merge-key": "devicePath",
+                                "x-kubernetes-patch-strategy": "merge"
+                              },
+                              "volumeMounts": {
+                                "description": "Pod volumes to mount into the container's filesystem. Subpath mounts are not allowed for ephemeral containers. Cannot be updated.",
+                                "items": {
+                                  "description": "VolumeMount describes a mounting of a Volume within a container.",
+                                  "properties": {
+                                    "mountPath": {
+                                      "description": "Path within the container at which the volume should be mounted.  Must not contain ':'.",
+                                      "type": "string"
+                                    },
+                                    "mountPropagation": {
+                                      "description": "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified (which defaults to None).",
+                                      "type": [
+                                        "string",
+                                        "null"
+                                      ]
+                                    },
+                                    "name": {
+                                      "description": "This must match the Name of a Volume.",
+                                      "type": "string"
+                                    },
+                                    "readOnly": {
+                                      "description": "Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.",
+                                      "type": [
+                                        "boolean",
+                                        "null"
+                                      ]
+                                    },
+                                    "recursiveReadOnly": {
+                                      "description": "RecursiveReadOnly specifies whether read-only mounts should be handled recursively.\n\nIf ReadOnly is false, this field has no meaning and must be unspecified.\n\nIf ReadOnly is true, and this field is set to Disabled, the mount is not made recursively read-only.  If this field is set to IfPossible, the mount is made recursively read-only, if it is supported by the container runtime.  If this field is set to Enabled, the mount is made [...]
+                                      "type": [
+                                        "string",
+                                        "null"
+                                      ]
+                                    },
+                                    "subPath": {
+                                      "description": "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root).",
+                                      "type": [
+                                        "string",
+                                        "null"
+                                      ]
+                                    },
+                                    "subPathExpr": {
+                                      "description": "Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to \"\" (volume's root). SubPathExpr and SubPath are mutually exclusive.",
+                                      "type": [
+                                        "string",
+                                        "null"
+                                      ]
+                                    }
+                                  },
+                                  "required": [
+                                    "name",
+                                    "mountPath"
+                                  ],
+                                  "type": [
+                                    "object",
+                                    "null"
+                                  ],
+                                  "additionalProperties": false
+                                },
+                                "type": [
+                                  "array",
+                                  "null"
+                                ],
+                                "x-kubernetes-list-map-keys": [
+                                  "mountPath"
+                                ],
+                                "x-kubernetes-list-type": "map",
+                                "x-kubernetes-patch-merge-key": "mountPath",
+                                "x-kubernetes-patch-strategy": "merge"
+                              },
+                              "workingDir": {
+                                "description": "Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated.",
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              }
+                            },
+                            "required": [
+                              "name"
+                            ],
+                            "type": [
+                              "object",
+                              "null"
+                            ],
+                            "additionalProperties": false
+                          },
+                          "type": [
+                            "array",
+                            "null"
+                          ],
+                          "x-kubernetes-list-map-keys": [
+                            "name"
+                          ],
+                          "x-kubernetes-list-type": "map",
+                          "x-kubernetes-patch-merge-key": "name",
+                          "x-kubernetes-patch-strategy": "merge"
+                        },
+                        "hostAliases": {
+                          "description": "HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified.",
+                          "items": {
+                            "description": "HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file.",
+                            "properties": {
+                              "hostnames": {
+                                "description": "Hostnames for the above IP address.",
+                                "items": {
+                                  "type": [
+                                    "string",
+                                    "null"
+                                  ]
+                                },
+                                "type": [
+                                  "array",
+                                  "null"
+                                ],
+                                "x-kubernetes-list-type": "atomic"
+                              },
+                              "ip": {
+                                "description": "IP address of the host file entry.",
+                                "type": "string"
+                              }
+                            },
+                            "required": [
+                              "ip"
+                            ],
+                            "type": [
+                              "object",
+                              "null"
+                            ],
+                            "additionalProperties": false
+                          },
+                          "type": [
+                            "array",
+                            "null"
+                          ],
+                          "x-kubernetes-list-map-keys": [
+                            "ip"
+                          ],
+                          "x-kubernetes-list-type": "map",
+                          "x-kubernetes-patch-merge-key": "ip",
+                          "x-kubernetes-patch-strategy": "merge"
+                        },
+                        "hostIPC": {
+                          "description": "Use the host's ipc namespace. Optional: Default to false.",
+                          "type": [
+                            "boolean",
+                            "null"
+                          ]
+                        },
+                        "hostNetwork": {
+                          "description": "Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false.",
+                          "type": [
+                            "boolean",
+                            "null"
+                          ]
+                        },
+                        "hostPID": {
+                          "description": "Use the host's pid namespace. Optional: Default to false.",
+                          "type": [
+                            "boolean",
+                            "null"
+                          ]
+                        },
+                        "hostUsers": {
+                          "description": "Use the host's user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as  [...]
+                          "type": [
+                            "boolean",
+                            "null"
+                          ]
+                        },
+                        "hostname": {
+                          "description": "Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value.",
+                          "type": [
+                            "string",
+                            "null"
+                          ]
+                        },
+                        "imagePullSecrets": {
+                          "description": "ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod",
+                          "items": {
+                            "description": "LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.",
+                            "properties": {
+                              "name": {
+                                "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              }
+                            },
+                            "type": [
+                              "object",
+                              "null"
+                            ],
+                            "x-kubernetes-map-type": "atomic",
+                            "additionalProperties": false
+                          },
+                          "type": [
+                            "array",
+                            "null"
+                          ],
+                          "x-kubernetes-list-map-keys": [
+                            "name"
+                          ],
+                          "x-kubernetes-list-type": "map",
+                          "x-kubernetes-patch-merge-key": "name",
+                          "x-kubernetes-patch-strategy": "merge"
+                        },
+                        "initContainers": {
+                          "description": "List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequir [...]
+                          "items": {
+                            "description": "A single application container that you want to run within a pod.",
+                            "properties": {
+                              "args": {
+                                "description": "Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never b [...]
+                                "items": {
+                                  "type": [
+                                    "string",
+                                    "null"
+                                  ]
+                                },
+                                "type": [
+                                  "array",
+                                  "null"
+                                ],
+                                "x-kubernetes-list-type": "atomic"
+                              },
+                              "command": {
+                                "description": "Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escape [...]
+                                "items": {
+                                  "type": [
+                                    "string",
+                                    "null"
+                                  ]
+                                },
+                                "type": [
+                                  "array",
+                                  "null"
+                                ],
+                                "x-kubernetes-list-type": "atomic"
+                              },
+                              "env": {
+                                "description": "List of environment variables to set in the container. Cannot be updated.",
+                                "items": {
+                                  "description": "EnvVar represents an environment variable present in a Container.",
+                                  "properties": {
+                                    "name": {
+                                      "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
+                                      "type": "string"
+                                    },
+                                    "value": {
+                                      "description": "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded [...]
+                                      "type": [
+                                        "string",
+                                        "null"
+                                      ]
+                                    },
+                                    "valueFrom": {
+                                      "description": "EnvVarSource represents a source for the value of an EnvVar.",
+                                      "properties": {
+                                        "configMapKeyRef": {
+                                          "description": "Selects a key from a ConfigMap.",
+                                          "properties": {
+                                            "key": {
+                                              "description": "The key to select.",
+                                              "type": "string"
+                                            },
+                                            "name": {
+                                              "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "optional": {
+                                              "description": "Specify whether the ConfigMap or its key must be defined",
+                                              "type": [
+                                                "boolean",
+                                                "null"
+                                              ]
+                                            }
+                                          },
+                                          "required": [
+                                            "key"
+                                          ],
+                                          "type": [
+                                            "object",
+                                            "null"
+                                          ],
+                                          "x-kubernetes-map-type": "atomic",
+                                          "additionalProperties": false
+                                        },
+                                        "fieldRef": {
+                                          "description": "ObjectFieldSelector selects an APIVersioned field of an object.",
+                                          "properties": {
+                                            "apiVersion": {
+                                              "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "fieldPath": {
+                                              "description": "Path of the field to select in the specified API version.",
+                                              "type": "string"
+                                            }
+                                          },
+                                          "required": [
+                                            "fieldPath"
+                                          ],
+                                          "type": [
+                                            "object",
+                                            "null"
+                                          ],
+                                          "x-kubernetes-map-type": "atomic",
+                                          "additionalProperties": false
+                                        },
+                                        "resourceFieldRef": {
+                                          "description": "ResourceFieldSelector represents container resources (cpu, memory) and their output format",
+                                          "properties": {
+                                            "containerName": {
+                                              "description": "Container name: required for volumes, optional for env vars",
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "divisor": {
+                                              "oneOf": [
+                                                {
+                                                  "type": [
+                                                    "string",
+                                                    "null"
+                                                  ]
+                                                },
+                                                {
+                                                  "type": [
+                                                    "number",
+                                                    "null"
+                                                  ]
+                                                }
+                                              ]
+                                            },
+                                            "resource": {
+                                              "description": "Required: resource to select",
+                                              "type": "string"
+                                            }
+                                          },
+                                          "required": [
+                                            "resource"
+                                          ],
+                                          "type": [
+                                            "object",
+                                            "null"
+                                          ],
+                                          "x-kubernetes-map-type": "atomic",
+                                          "additionalProperties": false
+                                        },
+                                        "secretKeyRef": {
+                                          "description": "SecretKeySelector selects a key of a Secret.",
+                                          "properties": {
+                                            "key": {
+                                              "description": "The key of the secret to select from.  Must be a valid secret key.",
+                                              "type": "string"
+                                            },
+                                            "name": {
+                                              "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "optional": {
+                                              "description": "Specify whether the Secret or its key must be defined",
+                                              "type": [
+                                                "boolean",
+                                                "null"
+                                              ]
+                                            }
+                                          },
+                                          "required": [
+                                            "key"
+                                          ],
+                                          "type": [
+                                            "object",
+                                            "null"
+                                          ],
+                                          "x-kubernetes-map-type": "atomic",
+                                          "additionalProperties": false
+                                        }
+                                      },
+                                      "type": [
+                                        "object",
+                                        "null"
+                                      ],
+                                      "additionalProperties": false
+                                    }
+                                  },
+                                  "required": [
+                                    "name"
+                                  ],
+                                  "type": [
+                                    "object",
+                                    "null"
+                                  ],
+                                  "additionalProperties": false
+                                },
+                                "type": [
+                                  "array",
+                                  "null"
+                                ],
+                                "x-kubernetes-list-map-keys": [
+                                  "name"
+                                ],
+                                "x-kubernetes-list-type": "map",
+                                "x-kubernetes-patch-merge-key": "name",
+                                "x-kubernetes-patch-strategy": "merge"
+                              },
+                              "envFrom": {
+                                "description": "List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.",
+                                "items": {
+                                  "description": "EnvFromSource represents the source of a set of ConfigMaps",
+                                  "properties": {
+                                    "configMapRef": {
+                                      "description": "ConfigMapEnvSource selects a ConfigMap to populate the environment variables with.\n\nThe contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.",
+                                      "properties": {
+                                        "name": {
+                                          "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        "optional": {
+                                          "description": "Specify whether the ConfigMap must be defined",
+                                          "type": [
+                                            "boolean",
+                                            "null"
+                                          ]
+                                        }
+                                      },
+                                      "type": [
+                                        "object",
+                                        "null"
+                                      ],
+                                      "additionalProperties": false
+                                    },
+                                    "prefix": {
+                                      "description": "An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.",
+                                      "type": [
+                                        "string",
+                                        "null"
+                                      ]
+                                    },
+                                    "secretRef": {
+                                      "description": "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.",
+                                      "properties": {
+                                        "name": {
+                                          "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        "optional": {
+                                          "description": "Specify whether the Secret must be defined",
+                                          "type": [
+                                            "boolean",
+                                            "null"
+                                          ]
+                                        }
+                                      },
+                                      "type": [
+                                        "object",
+                                        "null"
+                                      ],
+                                      "additionalProperties": false
+                                    }
+                                  },
+                                  "type": [
+                                    "object",
+                                    "null"
+                                  ],
+                                  "additionalProperties": false
+                                },
+                                "type": [
+                                  "array",
+                                  "null"
+                                ],
+                                "x-kubernetes-list-type": "atomic"
+                              },
+                              "image": {
+                                "description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.",
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              },
+                              "imagePullPolicy": {
+                                "description": "Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images",
+                                "type": [
+                                  "string",
+                                  "null"
+                                ]
+                              },
+                              "lifecycle": {
+                                "description": "Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted.",
+                                "properties": {
+                                  "postStart": {
+                                    "description": "LifecycleHandler defines a specific action that should be taken in a lifecycle hook. One and only one of the fields, except TCPSocket must be specified.",
+                                    "properties": {
+                                      "exec": {
+                                        "description": "ExecAction describes a \"run in container\" action.",
+                                        "properties": {
+                                          "command": {
+                                            "description": "Command is the command line to execute inside the container, the working directory for the command  is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.",
+                                            "items": {
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          }
+                                        },
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      },
+                                      "httpGet": {
+                                        "description": "HTTPGetAction describes an action based on HTTP Get requests.",
+                                        "properties": {
+                                          "host": {
+                                            "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          "httpHeaders": {
+                                            "description": "Custom headers to set in the request. HTTP allows repeated headers.",
+                                            "items": {
+                                              "description": "HTTPHeader describes a custom header to be used in HTTP probes",
+                                              "properties": {
+                                                "name": {
+                                                  "description": "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.",
+                                                  "type": "string"
+                                                },
+                                                "value": {
+                                                  "description": "The header field value",
+                                                  "type": "string"
+                                                }
+                                              },
+                                              "required": [
+                                                "name",
+                                                "value"
+                                              ],
+                                              "type": [
+                                                "object",
+                                                "null"
+                                              ],
+                                              "additionalProperties": false
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          },
+                                          "path": {
+                                            "description": "Path to access on the HTTP server.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          "port": {
+                                            "oneOf": [
+                                              {
+                                                "type": [
+                                                  "string",
+                                                  "null"
+                                                ]
+                                              },
+                                              {
+                                                "type": [
+                                                  "integer",
+                                                  "null"
+                                                ]
+                                              }
+                                            ]
+                                          },
+                                          "scheme": {
+                                            "description": "Scheme to use for connecting to the host. Defaults to HTTP.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          }
+                                        },
+                                        "required": [
+                                          "port"
+                                        ],
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      },
+                                      "sleep": {
+                                        "description": "SleepAction describes a \"sleep\" action.",
+                                        "properties": {
+                                          "seconds": {
+                                            "description": "Seconds is the number of seconds to sleep.",
+                                            "format": "int64",
+                                            "type": "integer"
+                                          }
+                                        },
+                                        "required": [
+                                          "seconds"
+                                        ],
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      },
+                                      "tcpSocket": {
+                                        "description": "TCPSocketAction describes an action based on opening a socket",
+                                        "properties": {
+                                          "host": {
+                                            "description": "Optional: Host name to connect to, defaults to the pod IP.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          "port": {
+                                            "oneOf": [
+                                              {
+                                                "type": [
+                                                  "string",
+                                                  "null"
+                                                ]
+                                              },
+                                              {
+                                                "type": [
+                                                  "integer",
+                                                  "null"
+                                                ]
+                                              }
+                                            ]
+                                          }
+                                        },
+                                        "required": [
+                                          "port"
+                                        ],
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      }
+                                    },
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "preStop": {
+                                    "description": "LifecycleHandler defines a specific action that should be taken in a lifecycle hook. One and only one of the fields, except TCPSocket must be specified.",
+                                    "properties": {
+                                      "exec": {
+                                        "description": "ExecAction describes a \"run in container\" action.",
+                                        "properties": {
+                                          "command": {
+                                            "description": "Command is the command line to execute inside the container, the working directory for the command  is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.",
+                                            "items": {
+                                              "type": [
+                                                "string",
+                                                "null"
+                                              ]
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          }
+                                        },
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      },
+                                      "httpGet": {
+                                        "description": "HTTPGetAction describes an action based on HTTP Get requests.",
+                                        "properties": {
+                                          "host": {
+                                            "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          "httpHeaders": {
+                                            "description": "Custom headers to set in the request. HTTP allows repeated headers.",
+                                            "items": {
+                                              "description": "HTTPHeader describes a custom header to be used in HTTP probes",
+                                              "properties": {
+                                                "name": {
+                                                  "description": "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.",
+                                                  "type": "string"
+                                                },
+                                                "value": {
+                                                  "description": "The header field value",
+                                                  "type": "string"
+                                                }
+                                              },
+                                              "required": [
+                                                "name",
+                                                "value"
+                                              ],
+                                              "type": [
+                                                "object",
+                                                "null"
+                                              ],
+                                              "additionalProperties": false
+                                            },
+                                            "type": [
+                                              "array",
+                                              "null"
+                                            ],
+                                            "x-kubernetes-list-type": "atomic"
+                                          },
+                                          "path": {
+                                            "description": "Path to access on the HTTP server.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          "port": {
+                                            "oneOf": [
+                                              {
+                                                "type": [
+                                                  "string",
+                                                  "null"
+                                                ]
+                                              },
+                                              {
+                                                "type": [
+                                                  "integer",
+                                                  "null"
+                                                ]
+                                              }
+                                            ]
+                                          },
+                                          "scheme": {
+                                            "description": "Scheme to use for connecting to the host. Defaults to HTTP.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          }
+                                        },
+                                        "required": [
+                                          "port"
+                                        ],
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      },
+                                      "sleep": {
+                                        "description": "SleepAction describes a \"sleep\" action.",
+                                        "properties": {
+                                          "seconds": {
+                                            "description": "Seconds is the number of seconds to sleep.",
+                                            "format": "int64",
+                                            "type": "integer"
+                                          }
+                                        },
+                                        "required": [
+                                          "seconds"
+                                        ],
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      },
+                                      "tcpSocket": {
+                                        "description": "TCPSocketAction describes an action based on opening a socket",
+                                        "properties": {
+                                          "host": {
+                                            "description": "Optional: Host name to connect to, defaults to the pod IP.",
+                                            "type": [
+                                              "string",
+                                              "null"
+                                            ]
+                                          },
+                                          "port": {
+                                            "oneOf": [
+                                              {
+                                                "type": [
+                                                  "string",
+                                                  "null"
+                                                ]
+                                              },
+                                              {
+                                                "type": [
+                                                  "integer",
+                                                  "null"
+                                                ]
+                                              }
+                                            ]
+                                          }
+                                        },
+                                        "required": [
+                                          "port"
+                                        ],
+                                        "type": [
+                                          "object",
+                                          "null"
+                                        ],
+                                        "additionalProperties": false
+                                      }
+                                    },
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  }
+                                },
+                                "type": [
+                                  "object",
+                                  "null"
+                                ],
+                                "additionalProperties": false
+                              },
+                              "livenessProbe": {
+                                "description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.",
+                                "properties": {
+                                  "exec": {
+                                    "description": "ExecAction describes a \"run in container\" action.",
+                                    "properties": {
+                                      "command": {
+                                        "description": "Command is the command line to execute inside the container, the working directory for the command  is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.",
+                                        "items": {
+                                          "type": [
+                                            "string",
+                                            "null"
+                                          ]
+                                        },
+                                        "type": [
+                                          "array",
+                                          "null"
+                                        ],
+                                        "x-kubernetes-list-type": "atomic"
+                                      }
+                                    },
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "failureThreshold": {
+                                    "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.",
+                                    "format": "int32",
+                                    "type": [
+                                      "integer",
+                                      "null"
+                                    ]
+                                  },
+                                  "grpc": {
+                                    "description": "GRPCAction specifies an action involving a GRPC service.",
+                                    "properties": {
+                                      "port": {
+                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
+                                        "format": "int32",
+                                        "type": "integer"
+                                      },
+                                      "service": {
+                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\nIf this is not specified, the default behavior is defined by gRPC.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      }
+                                    },
+                                    "required": [
+                                      "port"
+                                    ],
+                                    "type": [
+                                      "object",
+                                      "null"
+                                    ],
+                                    "additionalProperties": false
+                                  },
+                                  "httpGet": {
+                                    "description": "HTTPGetAction describes an action based on HTTP Get requests.",
+                                    "properties": {
+                                      "host": {
+                                        "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.",
+                                        "type": [
+                                          "string",
+                                          "null"
+                                        ]
+                                      },
... 328412 lines suppressed ...