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/03/10 02:13:54 UTC
(airflow-site) branch staging-publish updated: Docs updated via refs/heads/staging:4e4e49bc9493da7c55e09d72ac6e4258aa288c3f
This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch staging-publish
in repository https://gitbox.apache.org/repos/asf/airflow-site.git
The following commit(s) were added to refs/heads/staging-publish by this push:
new fd1ad38975 Docs updated via refs/heads/staging:4e4e49bc9493da7c55e09d72ac6e4258aa288c3f
fd1ad38975 is described below
commit fd1ad38975562fad8e215a78017b31899f55301f
Author: GitHub Actions <ac...@users.noreply.github.com>
AuthorDate: Tue Mar 10 02:13:48 2026 +0000
Docs updated via refs/heads/staging:4e4e49bc9493da7c55e09d72ac6e4258aa288c3f
---
.htaccess | 3 +
404.html | 10 +-
_gen/packages-metadata.json | 2 +-
announcements/index.html | 12 +-
blocktype/index.html | 12 +-
blocktype/testimonial/index.html | 12 +-
blocktype/use-case/index.html | 12 +-
blog/airflow-1.10.10/index.html | 14 +-
blog/airflow-1.10.12/index.html | 20 +-
blog/airflow-1.10.8-1.10.9/index.html | 14 +-
blog/airflow-2.10.0/index.html | 20 +-
blog/airflow-2.2.0/index.html | 14 +-
blog/airflow-2.3.0/index.html | 14 +-
blog/airflow-2.4.0/index.html | 14 +-
blog/airflow-2.5.0/index.html | 14 +-
blog/airflow-2.6.0/index.html | 14 +-
blog/airflow-2.7.0/index.html | 14 +-
blog/airflow-2.8.0/index.html | 14 +-
blog/airflow-2.9.0/index.html | 20 +-
blog/airflow-3.1.0/index.html | 14 +-
blog/airflow-survey-2020/index.html | 14 +-
blog/airflow-survey-2022/index.html | 14 +-
blog/airflow-survey-2023/index.html | 14 +-
blog/airflow-survey-2024/index.html | 14 +-
blog/airflow-survey-2025/index.html | 14 +-
blog/airflow-survey/index.html | 14 +-
blog/airflow-three-point-oh-is-here/index.html | 14 +-
blog/airflow-two-point-oh-is-here/index.html | 14 +-
blog/airflow_summit_2021/index.html | 14 +-
blog/airflow_summit_2022/index.html | 14 +-
blog/airflowctl-0.1.0/index.html | 14 +-
blog/announcing-new-website/index.html | 14 +-
blog/apache-airflow-for-newcomers/index.html | 14 +-
.../index.html | 14 +-
.../index.html | 14 +-
.../index.html | 14 +-
.../index.html | 14 +-
blog/fab-oid-vulnerability/index.html | 14 +-
.../index.html | 14 +-
blog/index.html | 12 +-
blog/index.xml | 70 +-
blog/introducing_setup_teardown/index.html | 14 +-
.../index.html | 14 +-
blog/tags/airflow-summit/index.html | 12 +-
blog/tags/airflow-summit/index.xml | 2 +-
blog/tags/community/index.html | 12 +-
blog/tags/community/index.xml | 2 +-
blog/tags/development/index.html | 12 +-
blog/tags/development/index.xml | 2 +-
blog/tags/documentation/index.html | 12 +-
blog/tags/documentation/index.xml | 2 +-
blog/tags/release/index.html | 12 +-
blog/tags/release/index.xml | 2 +-
blog/tags/rest-api/index.html | 12 +-
blog/tags/rest-api/index.xml | 2 +-
blog/tags/survey/index.html | 12 +-
blog/tags/survey/index.xml | 2 +-
blog/tags/users/index.html | 12 +-
blog/tags/users/index.xml | 2 +-
blog/tags/vulnerabilities/index.html | 12 +-
blog/tags/vulnerabilities/index.xml | 2 +-
categories/index.html | 10 +-
chunk-187.0aea7.js => chunk-187.d9cd6.js | 0
chunk-291.0aea7.js => chunk-291.d9cd6.js | 2 +-
...s.LICENSE.txt => chunk-291.d9cd6.js.LICENSE.txt | 0
chunk-499.0aea7.js | 2 -
chunk-499.0aea7.js.LICENSE.txt | 1 -
chunk-537.0aea7.js => chunk-537.d9cd6.js | 0
chunk-608.0aea7.js => chunk-608.d9cd6.js | 2 +-
chunk-744.0aea7.js => chunk-744.d9cd6.js | 0
chunk-808.d9cd6.js | 1 +
code-of-conduct/index.html | 12 +-
community/index.html | 128 +-
community/resources/index.html | 14 +-
css/katex.min.css | 2 +-
docs.0aea7.js => docs.d9cd6.js | 0
docs/index.html | 12 +-
ecosystem/index.html | 17 +-
favicon.ico | Bin 1150 -> 15342 bytes
favicons/android-144x144.png | Bin 9948 -> 8296 bytes
favicons/android-192x192.png | Bin 13664 -> 11496 bytes
favicons/android-36x36.png | Bin 2117 -> 1952 bytes
favicons/android-48x48.png | Bin 2870 -> 2530 bytes
favicons/android-72x72.png | Bin 4463 -> 3803 bytes
favicons/android-96x96.png | Bin 6257 -> 5291 bytes
favicons/android-icon-144x144.png | Bin 9948 -> 8296 bytes
favicons/android-icon-192x192.png | Bin 13664 -> 11496 bytes
favicons/android-icon-36x36.png | Bin 2117 -> 1952 bytes
favicons/android-icon-48x48.png | Bin 2870 -> 2530 bytes
favicons/android-icon-72x72.png | Bin 4463 -> 3803 bytes
favicons/android-icon-96x96.png | Bin 6257 -> 5291 bytes
favicons/apple-touch-icon-180x180.png | Bin 12751 -> 10692 bytes
favicons/favicon-1024.png | Bin 62509 -> 78759 bytes
favicons/favicon-16x16.png | Bin 1338 -> 1188 bytes
favicons/favicon-256.png | Bin 18875 -> 15891 bytes
favicons/favicon-32x32.png | Bin 1909 -> 1700 bytes
favicons/favicon-96x96.png | Bin 6257 -> 5291 bytes
favicons/favicon.ico | Bin 15342 -> 15342 bytes
favicons/favicon.svg | 18 +
favicons/pwa-192x192.png | Bin 13664 -> 11496 bytes
favicons/pwa-512x512.png | Bin 41396 -> 35168 bytes
favicons/tile150x150.png | Bin 10417 -> 8685 bytes
favicons/tile310x150.png | Bin 10417 -> 8685 bytes
favicons/tile310x310.png | Bin 23579 -> 19518 bytes
favicons/tile70x70.png | Bin 4364 -> 3747 bytes
index.html | 12 +-
js/auto-render.min.js | 2 +-
js/katex.min.js | 2 +-
.../clusterrole-rbac-v1.json | 462 +
.../clusterrolebinding-rbac-v1.json | 364 +
.../v1.30.13-standalone-strict/configmap-v1.json | 322 +
.../cronjob-batch-v1.json | 11359 ++++++++++++++++
.../deployment-apps-v1.json | 10933 ++++++++++++++++
.../horizontalpodautoscaler-autoscaling-v2.json | 1841 +++
.../ingress-networking-v1.json | 663 +
.../v1.30.13-standalone-strict/job-batch-v1.json | 11122 ++++++++++++++++
.../v1.30.13-standalone-strict/limitrange-v1.json | 438 +
.../networkpolicy-networking-v1.json | 884 ++
.../persistentvolumeclaim-v1.json | 714 +
k8s-schemas/v1.30.13-standalone-strict/pod-v1.json | 11936 +++++++++++++++++
.../poddisruptionbudget-policy-v1.json | 523 +
.../priorityclass-scheduling-v1.json | 320 +
.../resourcequota-v1.json | 446 +
.../v1.30.13-standalone-strict/role-rbac-v1.json | 376 +
.../rolebinding-rbac-v1.json | 364 +
.../v1.30.13-standalone-strict/secret-v1.json | 329 +
.../v1.30.13-standalone-strict/service-v1.json | 720 +
.../serviceaccount-v1.json | 394 +
.../statefulset-apps-v1.json | 11694 +++++++++++++++++
.../clusterrole-rbac-v1.json | 462 +
.../clusterrolebinding-rbac-v1.json | 364 +
.../v1.31.12-standalone-strict/configmap-v1.json | 322 +
.../cronjob-batch-v1.json | 11401 ++++++++++++++++
.../deployment-apps-v1.json | 10975 ++++++++++++++++
.../horizontalpodautoscaler-autoscaling-v2.json | 1841 +++
.../ingress-networking-v1.json | 665 +
.../v1.31.12-standalone-strict/job-batch-v1.json | 11164 ++++++++++++++++
.../v1.31.12-standalone-strict/limitrange-v1.json | 438 +
.../networkpolicy-networking-v1.json | 884 ++
.../persistentvolumeclaim-v1.json | 714 +
k8s-schemas/v1.31.12-standalone-strict/pod-v1.json | 12338 ++++++++++++++++++
.../poddisruptionbudget-policy-v1.json | 523 +
.../priorityclass-scheduling-v1.json | 320 +
.../resourcequota-v1.json | 446 +
.../v1.31.12-standalone-strict/role-rbac-v1.json | 376 +
.../rolebinding-rbac-v1.json | 364 +
.../v1.31.12-standalone-strict/secret-v1.json | 329 +
.../v1.31.12-standalone-strict/service-v1.json | 720 +
.../serviceaccount-v1.json | 394 +
.../statefulset-apps-v1.json | 11736 +++++++++++++++++
.../clusterrole-rbac-v1.json | 462 +
.../clusterrolebinding-rbac-v1.json | 364 +
.../v1.32.8-standalone-strict/configmap-v1.json | 322 +
.../cronjob-batch-v1.json | 11510 ++++++++++++++++
.../deployment-apps-v1.json | 11084 ++++++++++++++++
.../horizontalpodautoscaler-autoscaling-v2.json | 1841 +++
.../ingress-networking-v1.json | 665 +
.../v1.32.8-standalone-strict/job-batch-v1.json | 11273 ++++++++++++++++
.../v1.32.8-standalone-strict/limitrange-v1.json | 438 +
.../networkpolicy-networking-v1.json | 884 ++
.../persistentvolumeclaim-v1.json | 717 +
k8s-schemas/v1.32.8-standalone-strict/pod-v1.json | 12450 ++++++++++++++++++
.../poddisruptionbudget-policy-v1.json | 523 +
.../priorityclass-scheduling-v1.json | 320 +
.../resourcequota-v1.json | 446 +
.../v1.32.8-standalone-strict/role-rbac-v1.json | 376 +
.../rolebinding-rbac-v1.json | 364 +
.../v1.32.8-standalone-strict/secret-v1.json | 329 +
.../v1.32.8-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.4-standalone-strict/configmap-v1.json | 322 +
.../cronjob-batch-v1.json | 11531 ++++++++++++++++
.../deployment-apps-v1.json | 11113 ++++++++++++++++
.../horizontalpodautoscaler-autoscaling-v2.json | 1873 +++
.../ingress-networking-v1.json | 665 +
.../v1.33.4-standalone-strict/job-batch-v1.json | 11294 ++++++++++++++++
.../v1.33.4-standalone-strict/limitrange-v1.json | 438 +
.../networkpolicy-networking-v1.json | 884 ++
.../persistentvolumeclaim-v1.json | 717 +
k8s-schemas/v1.33.4-standalone-strict/pod-v1.json | 12508 ++++++++++++++++++
.../poddisruptionbudget-policy-v1.json | 523 +
.../priorityclass-scheduling-v1.json | 320 +
.../resourcequota-v1.json | 446 +
.../v1.33.4-standalone-strict/role-rbac-v1.json | 376 +
.../rolebinding-rbac-v1.json | 364 +
.../v1.33.4-standalone-strict/secret-v1.json | 329 +
.../v1.33.4-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.0-standalone-strict/configmap-v1.json | 322 +
.../cronjob-batch-v1.json | 11865 +++++++++++++++++
.../deployment-apps-v1.json | 11447 ++++++++++++++++
.../horizontalpodautoscaler-autoscaling-v2.json | 1873 +++
.../ingress-networking-v1.json | 665 +
.../v1.34.0-standalone-strict/job-batch-v1.json | 11628 +++++++++++++++++
.../v1.34.0-standalone-strict/limitrange-v1.json | 438 +
.../networkpolicy-networking-v1.json | 884 ++
.../persistentvolumeclaim-v1.json | 717 +
k8s-schemas/v1.34.0-standalone-strict/pod-v1.json | 12892 ++++++++++++++++++
.../poddisruptionbudget-policy-v1.json | 523 +
.../priorityclass-scheduling-v1.json | 320 +
.../resourcequota-v1.json | 446 +
.../v1.34.0-standalone-strict/role-rbac-v1.json | 376 +
.../rolebinding-rbac-v1.json | 364 +
.../v1.34.0-standalone-strict/secret-v1.json | 329 +
.../v1.34.0-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.0-standalone-strict/configmap-v1.json | 322 +
.../cronjob-batch-v1.json | 11909 +++++++++++++++++
.../deployment-apps-v1.json | 11489 ++++++++++++++++
.../horizontalpodautoscaler-autoscaling-v2.json | 1873 +++
.../ingress-networking-v1.json | 665 +
.../v1.35.0-standalone-strict/job-batch-v1.json | 11672 +++++++++++++++++
.../v1.35.0-standalone-strict/limitrange-v1.json | 438 +
.../networkpolicy-networking-v1.json | 884 ++
.../persistentvolumeclaim-v1.json | 717 +
k8s-schemas/v1.35.0-standalone-strict/pod-v1.json | 13048 +++++++++++++++++++
.../poddisruptionbudget-policy-v1.json | 523 +
.../priorityclass-scheduling-v1.json | 320 +
.../resourcequota-v1.json | 446 +
.../v1.35.0-standalone-strict/role-rbac-v1.json | 376 +
.../rolebinding-rbac-v1.json | 364 +
.../v1.35.0-standalone-strict/secret-v1.json | 329 +
.../v1.35.0-standalone-strict/service-v1.json | 721 +
.../serviceaccount-v1.json | 394 +
.../statefulset-apps-v1.json | 12247 +++++++++++++++++
main.0aea7.js => main.d9cd6.js | 2 +-
meetups/index.html | 12 +-
privacy-notice/index.html | 12 +-
roadmap/index.html | 12 +-
...ba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css | 32 -
...0cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css | 32 +
search/index.html | 14 +-
sitemap.xml | 154 +-
.../sphinx_airflow_theme-0.3.0-py3-none-any.whl | Bin 0 -> 446165 bytes
.../sphinx_airflow_theme-0.3.0.tar.gz | Bin 0 -> 431782 bytes
survey/index.html | 12 +-
tags/index.html | 12 +-
tags/index.xml | 2 +-
use-cases/adjoe/index.html | 14 +-
use-cases/adobe/index.html | 14 +-
use-cases/adyen/index.html | 14 +-
use-cases/big-fish-games/index.html | 14 +-
use-cases/business_operations/index.html | 14 +-
use-cases/dish/index.html | 14 +-
use-cases/etl_analytics/index.html | 14 +-
use-cases/experity/index.html | 14 +-
use-cases/index.html | 12 +-
use-cases/infrastructure-management/index.html | 14 +-
use-cases/mlops/index.html | 14 +-
use-cases/onefootball/index.html | 14 +-
use-cases/plarium-krasnodar/index.html | 14 +-
use-cases/seniorlink/index.html | 14 +-
use-cases/sift/index.html | 14 +-
use-cases/snapp/index.html | 14 +-
use-cases/suse/index.html | 14 +-
264 files changed, 407402 insertions(+), 756 deletions(-)
diff --git a/.htaccess b/.htaccess
index 4ee2a3b83b..b45abd3509 100644
--- a/.htaccess
+++ b/.htaccess
@@ -1,5 +1,8 @@
RewriteEngine On
+# Redirect bare /registry to /registry/ for consistent trailing-slash URLs
+RewriteRule ^/registry$ /registry/ [R=301,L]
+
RewriteCond %{REQUEST_URI} ^/docs [OR]
RewriteCond %{REQUEST_URI} ^/schemas/ [OR]
RewriteCond %{REQUEST_URI} ^/registry/
diff --git a/404.html b/404.html
index 7559ef0066..7ff23d883e 100644
--- a/404.html
+++ b/404.html
@@ -50,8 +50,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -81,8 +81,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -683,7 +683,7 @@
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</body>
</html>
diff --git a/_gen/packages-metadata.json b/_gen/packages-metadata.json
index 7f60227119..38019c8357 100644
--- a/_gen/packages-metadata.json
+++ b/_gen/packages-metadata.json
@@ -2148,7 +2148,7 @@
"2.10.5",
"2.11.1",
"3.0.6",
- "3.1.7",
+ "3.1.8",
"3.2.0"
],
"stable-version": "3.2.0"
diff --git a/announcements/index.html b/announcements/index.html
index 3dd5c69980..d6122ae5c6 100644
--- a/announcements/index.html
+++ b/announcements/index.html
@@ -47,7 +47,7 @@ Thanks to all the contributors who made this possible.
January 14, 2026 Airflow PMC welcomes new PMC members:
Buğra Öztürk (@bugraoz93) Rahul Vats (@vatsrahul1001) January 13, 2026 We’ve just released Airflow 3.1.6 and Task SDK 1.1.6 🎉">
<meta itemprop="datePublished" content="2020-08-08T05:30:20+05:30">
- <meta itemprop="dateModified" content="2026-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="5890">
<meta itemprop="image" content="/images/feature-image.png">
@@ -66,8 +66,8 @@ Buğra Öztürk (@bugraoz93) Rahul Vats (@vatsrahul1001) January 13, 2026 We’v
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -97,8 +97,8 @@ Buğra Öztürk (@bugraoz93) Rahul Vats (@vatsrahul1001) January 13, 2026 We’v
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -1895,7 +1895,7 @@ yet have a viable 1.7.1 release candidate. On April 12, <a href="https://github.
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</body>
</html>
diff --git a/blocktype/index.html b/blocktype/index.html
index 4407f89ff0..2bf84c479c 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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="image" content="/images/feature-image.png">
@@ -52,8 +52,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -83,8 +83,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -688,7 +688,7 @@
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</body>
</html>
diff --git a/blocktype/testimonial/index.html b/blocktype/testimonial/index.html
index 34087d9c35..e50bd9fecf 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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="image" content="/images/feature-image.png">
@@ -52,8 +52,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -83,8 +83,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -953,7 +953,7 @@
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</body>
</html>
diff --git a/blocktype/use-case/index.html b/blocktype/use-case/index.html
index 00949cdbe6..28e7beefe5 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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="image" content="/images/feature-image.png">
@@ -52,8 +52,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -83,8 +83,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -777,7 +777,7 @@
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</body>
</html>
diff --git a/blog/airflow-1.10.10/index.html b/blog/airflow-1.10.10/index.html
index a95a2cef19..47b5e4541b 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="1142">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Release">
@@ -58,8 +58,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -89,8 +89,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -1006,6 +1006,6 @@ objc[1873]: +[__NSPlaceholderDate initialize] may have been in progress in anoth
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/airflow-1.10.12/index.html b/blog/airflow-1.10.12/index.html
index 0e65063e5c..848d79144a 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="910">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Release">
@@ -58,8 +58,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -89,8 +89,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -978,13 +978,13 @@ William Tran, Xiaodong Deng, YI FU, Zikun Zhu, dewaldabrie, pulsar314, retornam,
</footer>
- <link rel="stylesheet" href="/css/katex.min.css" integrity="sha512-ZM1PixOs+Hiz5T4s/tUuBQT7UEr+DwSRATmWGFJHdtCkNBfGenbU/j/JScRWP3g8J5NAEgsak7vg8ukL4KHv9w==" crossorigin="anonymous">
+ <link rel="stylesheet" href="/css/katex.min.css" integrity="sha512-S7tdTPqk2BKIeF+l45LtVSurMw/cxy7+xlRAUU/3uxhJuJDLz8W/vOhOiCmgSUw/cp0dWDAonA4JZBMaQbxXSw==" crossorigin="anonymous">
- <script defer src="/js/katex.min.js" integrity="sha512-vFkXe/gge28FXBtE7UvBb051/SXO7VQ2caFUFwoguvU6H0NI3QSbvrL7qzCXr8QlWJXiVIbvWJ5Yf+CmdNsFJw==" crossorigin="anonymous" ></script>
+ <script defer src="/js/katex.min.js" integrity="sha512-EUwpMb3rP3tgZJ14nd4QLHRbh+LJOuJWVLXdedxizEnCXxXARAgEPjHQmpeoLQfv1VFiok4wXz+aUP2KO55ldA==" crossorigin="anonymous" ></script>
<script defer src="/js/mhchem.min.js" integrity="sha512-3ev+ZV+t8BSzoQQ3rz9+H/C0Eq+islU1W1BuSYQ+XNPvlZi96z5MlGcS7WrzVceYvYXt56+1nKQcGNVcyQwZWg==" crossorigin="anonymous" ></script>
- <script defer src="/js/auto-render.min.js" integrity="sha512-b7lFrW8ua+HKkcEoQoS3DhCfDvlN18+gmLjlYHauOs0LzIBsh/iwYC9bfxZCn6RUKhLruAHGVaGYw8xk16lIFg==" crossorigin="anonymous"
+ <script defer src="/js/auto-render.min.js" integrity="sha512-0HzJcHCD+wBh9kNUUcm3DWH9IbNDfudsYyMD5EHwSuFK6aEsaa/UEPqqk4t0pm4bbmwR6A11yNsD7Q+nz6XF+Q==" crossorigin="anonymous"
onload='renderMathInElement(document.body, null);'>
</script>
<script src="/js/main.min.358b664598ed6c414b48721e94dd89ae3daef991c30b4234063d7998daba862a.js" integrity="sha256-NYtmRZjtbEFLSHIelN2Jrj2u+ZHDC0I0Bj15mNq6hio=" crossorigin="anonymous"></script>
@@ -994,6 +994,6 @@ onload='renderMathInElement(document.body, null);'>
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
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 fcf777ac23..f6f920c730 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="437">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Release">
@@ -58,8 +58,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -89,8 +89,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -918,6 +918,6 @@ for 1.10.* series but would no longer be available from Airflow 2.0</p>
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/airflow-2.10.0/index.html b/blog/airflow-2.10.0/index.html
index f20418a59f..1fe860c92b 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="1040">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Release">
@@ -58,8 +58,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -89,8 +89,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -994,13 +994,13 @@ executor = 'LocalExecutor,KubernetesExecutor,my.custom.module.ExecutorClass:
</footer>
- <link rel="stylesheet" href="/css/katex.min.css" integrity="sha512-ZM1PixOs+Hiz5T4s/tUuBQT7UEr+DwSRATmWGFJHdtCkNBfGenbU/j/JScRWP3g8J5NAEgsak7vg8ukL4KHv9w==" crossorigin="anonymous">
+ <link rel="stylesheet" href="/css/katex.min.css" integrity="sha512-S7tdTPqk2BKIeF+l45LtVSurMw/cxy7+xlRAUU/3uxhJuJDLz8W/vOhOiCmgSUw/cp0dWDAonA4JZBMaQbxXSw==" crossorigin="anonymous">
- <script defer src="/js/katex.min.js" integrity="sha512-vFkXe/gge28FXBtE7UvBb051/SXO7VQ2caFUFwoguvU6H0NI3QSbvrL7qzCXr8QlWJXiVIbvWJ5Yf+CmdNsFJw==" crossorigin="anonymous" ></script>
+ <script defer src="/js/katex.min.js" integrity="sha512-EUwpMb3rP3tgZJ14nd4QLHRbh+LJOuJWVLXdedxizEnCXxXARAgEPjHQmpeoLQfv1VFiok4wXz+aUP2KO55ldA==" crossorigin="anonymous" ></script>
<script defer src="/js/mhchem.min.js" integrity="sha512-3ev+ZV+t8BSzoQQ3rz9+H/C0Eq+islU1W1BuSYQ+XNPvlZi96z5MlGcS7WrzVceYvYXt56+1nKQcGNVcyQwZWg==" crossorigin="anonymous" ></script>
- <script defer src="/js/auto-render.min.js" integrity="sha512-b7lFrW8ua+HKkcEoQoS3DhCfDvlN18+gmLjlYHauOs0LzIBsh/iwYC9bfxZCn6RUKhLruAHGVaGYw8xk16lIFg==" crossorigin="anonymous"
+ <script defer src="/js/auto-render.min.js" integrity="sha512-0HzJcHCD+wBh9kNUUcm3DWH9IbNDfudsYyMD5EHwSuFK6aEsaa/UEPqqk4t0pm4bbmwR6A11yNsD7Q+nz6XF+Q==" crossorigin="anonymous"
onload='renderMathInElement(document.body, null);'>
</script>
<script src="/js/main.min.358b664598ed6c414b48721e94dd89ae3daef991c30b4234063d7998daba862a.js" integrity="sha256-NYtmRZjtbEFLSHIelN2Jrj2u+ZHDC0I0Bj15mNq6hio=" crossorigin="anonymous"></script>
@@ -1010,6 +1010,6 @@ onload='renderMathInElement(document.body, null);'>
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/airflow-2.2.0/index.html b/blog/airflow-2.2.0/index.html
index 727891bac5..5bb4ade520 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00:00">
<meta property="article:tag" content="Release">
<meta property="og:image" content="/images/feature-image.png">
<meta itemprop="name" content="What's new in Apache Airflow 2.2.0">
<meta itemprop="description" content="We'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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="658">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Release">
@@ -58,8 +58,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -89,8 +89,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -919,6 +919,6 @@
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/airflow-2.3.0/index.html b/blog/airflow-2.3.0/index.html
index b4aecba432..8a03cb3018 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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'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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="708">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Release">
@@ -58,8 +58,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -89,8 +89,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -965,6 +965,6 @@ Sade’s “Smooth Operator”. Enjoy!</li>
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/airflow-2.4.0/index.html b/blog/airflow-2.4.0/index.html
index 5d3c252d88..e601d3b3c4 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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'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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="849">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Release">
@@ -58,8 +58,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -89,8 +89,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -968,6 +968,6 @@
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/airflow-2.5.0/index.html b/blog/airflow-2.5.0/index.html
index 24c7c8573a..221975f286 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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'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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="391">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Release">
@@ -58,8 +58,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -89,8 +89,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -899,6 +899,6 @@ c. Everything runs in one process, so you can put a breakpoint in your IDE, and
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/airflow-2.6.0/index.html b/blog/airflow-2.6.0/index.html
index d498ceee47..49dd231745 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00:00">
<meta property="article:tag" content="Release">
<meta property="og:image" content="/images/feature-image.png">
<meta itemprop="name" content="what'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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="535">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Release">
@@ -58,8 +58,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -89,8 +89,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -923,6 +923,6 @@
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/airflow-2.7.0/index.html b/blog/airflow-2.7.0/index.html
index 50d8d1e2d4..1961ceed36 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="816">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Release">
@@ -58,8 +58,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -89,8 +89,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -926,6 +926,6 @@ The following providers have been moved and require certain minimum providers ve
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/airflow-2.8.0/index.html b/blog/airflow-2.8.0/index.html
index 44eab8dc16..a6f14aca16 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="730">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Release">
@@ -58,8 +58,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -89,8 +89,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -944,6 +944,6 @@ We care for your security, and “secure by default” is one of the thi
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/airflow-2.9.0/index.html b/blog/airflow-2.9.0/index.html
index 91ba53d8cb..5aa454f0c9 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="1041">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Release">
@@ -58,8 +58,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -89,8 +89,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -979,13 +979,13 @@ xcom_objectstorage_compression = gzip$$</div><p>See the <a href="https://airflow
</footer>
- <link rel="stylesheet" href="/css/katex.min.css" integrity="sha512-ZM1PixOs+Hiz5T4s/tUuBQT7UEr+DwSRATmWGFJHdtCkNBfGenbU/j/JScRWP3g8J5NAEgsak7vg8ukL4KHv9w==" crossorigin="anonymous">
+ <link rel="stylesheet" href="/css/katex.min.css" integrity="sha512-S7tdTPqk2BKIeF+l45LtVSurMw/cxy7+xlRAUU/3uxhJuJDLz8W/vOhOiCmgSUw/cp0dWDAonA4JZBMaQbxXSw==" crossorigin="anonymous">
- <script defer src="/js/katex.min.js" integrity="sha512-vFkXe/gge28FXBtE7UvBb051/SXO7VQ2caFUFwoguvU6H0NI3QSbvrL7qzCXr8QlWJXiVIbvWJ5Yf+CmdNsFJw==" crossorigin="anonymous" ></script>
+ <script defer src="/js/katex.min.js" integrity="sha512-EUwpMb3rP3tgZJ14nd4QLHRbh+LJOuJWVLXdedxizEnCXxXARAgEPjHQmpeoLQfv1VFiok4wXz+aUP2KO55ldA==" crossorigin="anonymous" ></script>
<script defer src="/js/mhchem.min.js" integrity="sha512-3ev+ZV+t8BSzoQQ3rz9+H/C0Eq+islU1W1BuSYQ+XNPvlZi96z5MlGcS7WrzVceYvYXt56+1nKQcGNVcyQwZWg==" crossorigin="anonymous" ></script>
- <script defer src="/js/auto-render.min.js" integrity="sha512-b7lFrW8ua+HKkcEoQoS3DhCfDvlN18+gmLjlYHauOs0LzIBsh/iwYC9bfxZCn6RUKhLruAHGVaGYw8xk16lIFg==" crossorigin="anonymous"
+ <script defer src="/js/auto-render.min.js" integrity="sha512-0HzJcHCD+wBh9kNUUcm3DWH9IbNDfudsYyMD5EHwSuFK6aEsaa/UEPqqk4t0pm4bbmwR6A11yNsD7Q+nz6XF+Q==" crossorigin="anonymous"
onload='renderMathInElement(document.body, null);'>
</script>
<script src="/js/main.min.358b664598ed6c414b48721e94dd89ae3daef991c30b4234063d7998daba862a.js" integrity="sha256-NYtmRZjtbEFLSHIelN2Jrj2u+ZHDC0I0Bj15mNq6hio=" crossorigin="anonymous"></script>
@@ -995,6 +995,6 @@ onload='renderMathInElement(document.body, null);'>
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/airflow-3.1.0/index.html b/blog/airflow-3.1.0/index.html
index d149a079e3..dcfa33444a 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00: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">
@@ -58,8 +58,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -89,8 +89,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -1061,6 +1061,6 @@ human-centered. We can’t wait to see what you build with it!</p>
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/airflow-survey-2020/index.html b/blog/airflow-survey-2020/index.html
index 179324d85a..c66844450e 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="2136">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Community,Survey,Users">
@@ -60,8 +60,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -91,8 +91,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -2214,6 +2214,6 @@ to share their experience and tools.</p>
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/airflow-survey-2022/index.html b/blog/airflow-survey-2022/index.html
index fc33c4cc57..8b54bc73a3 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="3866">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Community,Survey,Users">
@@ -60,8 +60,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -91,8 +91,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -2580,6 +2580,6 @@
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/airflow-survey-2023/index.html b/blog/airflow-survey-2023/index.html
index 1f5db2a5dc..d144abf951 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="3">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Community,Survey,Users">
@@ -60,8 +60,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -91,8 +91,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -895,6 +895,6 @@
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/airflow-survey-2024/index.html b/blog/airflow-survey-2024/index.html
index d6f92ea98d..b593f8361c 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="45">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Community,Survey,Users">
@@ -60,8 +60,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -91,8 +91,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -911,6 +911,6 @@
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/airflow-survey-2025/index.html b/blog/airflow-survey-2025/index.html
index 5ee5095c6a..7910f7c35e 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="45">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Community,Survey,Users">
@@ -60,8 +60,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -91,8 +91,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -915,6 +915,6 @@
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/airflow-survey/index.html b/blog/airflow-survey/index.html
index 6387ae5227..3d7e0db362 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="1723">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Community,Survey,Users">
@@ -60,8 +60,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -91,8 +91,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -1692,6 +1692,6 @@ declare DAGs.</p>
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/airflow-three-point-oh-is-here/index.html b/blog/airflow-three-point-oh-is-here/index.html
index 17c972b7b2..2c06f47370 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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'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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="2194">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Release">
@@ -58,8 +58,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -89,8 +89,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -1297,6 +1297,6 @@ Let’s build the future of data orchestration—together.</p>
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/airflow-two-point-oh-is-here/index.html b/blog/airflow-two-point-oh-is-here/index.html
index 383474fdd8..ffd3ea68af 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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'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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="1165">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Release">
@@ -58,8 +58,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -89,8 +89,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -957,6 +957,6 @@ Docs on <a href="http://airflow.apache.org/docs/apache-airflow-providers/package
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/airflow_summit_2021/index.html b/blog/airflow_summit_2021/index.html
index 063e5043c2..3ef44ce464 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="77">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Community,Airflow Summit">
@@ -59,8 +59,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -90,8 +90,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -874,6 +874,6 @@ participate in its development.</p>
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/airflow_summit_2022/index.html b/blog/airflow_summit_2022/index.html
index 26b48e38e6..774846db38 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="129">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Community,Airflow Summit">
@@ -59,8 +59,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -90,8 +90,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -877,6 +877,6 @@ communities to watch the event and network.</p>
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/airflowctl-0.1.0/index.html b/blog/airflowctl-0.1.0/index.html
index e14d4d6f9a..b761964b64 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="898">
<meta itemprop="image" content="/images/blog/airflowctl-0.1.0/airflowctl-cover.png">
<meta itemprop="keywords" content="Release">
@@ -58,8 +58,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -89,8 +89,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -1025,6 +1025,6 @@ The secure CLI foundation lays the groundwork for Airflow’s next generation. A
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/announcing-new-website/index.html b/blog/announcing-new-website/index.html
index 153f3a36c4..b75ac6505e 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="282">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Community">
@@ -58,8 +58,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -89,8 +89,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -883,6 +883,6 @@ and that its improved accessibility increases adoption and use of Apache Airflow
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/apache-airflow-for-newcomers/index.html b/blog/apache-airflow-for-newcomers/index.html
index 5598651672..1a4b13a55a 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="1070">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Community">
@@ -60,8 +60,8 @@ Authoring Workflow in Apache Airflow. Airflow makes it easy to author workflows
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -91,8 +91,8 @@ Authoring Workflow in Apache Airflow. Airflow makes it easy to author workflows
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -973,6 +973,6 @@ and <a href="https://github.com/turbaszek">Tomek</a> for all their support. I&rs
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
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 996bba0527..615af9017e 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="138">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Community">
@@ -58,8 +58,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -89,8 +89,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -866,6 +866,6 @@
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/documenting-using-local-development-environments/index.html b/blog/documenting-using-local-development-environments/index.html
index a93721d114..9d0ebda006 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="256">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Development">
@@ -58,8 +58,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -89,8 +89,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -865,6 +865,6 @@ a team for 3 months.</p>
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
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 0e218e1c9a..3a2aa37e95 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="1521">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Documentation">
@@ -60,8 +60,8 @@ About Me I have been writing tech articles on medium as well as my blog for the
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -91,8 +91,8 @@ About Me I have been writing tech articles on medium as well as my blog for the
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -880,6 +880,6 @@ After a lot of trial and error, we arrived at a version with which both of us co
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
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 010d7d401f..e57dcd8767 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="528">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Community">
@@ -60,8 +60,8 @@ Contribution Period The first thing I had to do was choose a project under an or
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -91,8 +91,8 @@ Contribution Period The first thing I had to do was choose a project under an or
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -934,6 +934,6 @@ community that has been made my summer, one to remember.</p>
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/fab-oid-vulnerability/index.html b/blog/fab-oid-vulnerability/index.html
index b9c64e61d9..2d98c557b5 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="638">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Vulnerabilities">
@@ -58,8 +58,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -89,8 +89,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -954,6 +954,6 @@ where Flask AppBuilder is also used.</p>
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/implementing-stable-api-for-apache-airflow/index.html b/blog/implementing-stable-api-for-apache-airflow/index.html
index 1339cb6e8a..c8adc4ce1d 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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'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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="703">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="REST API">
@@ -58,8 +58,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -89,8 +89,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -936,6 +936,6 @@ wonderful reviews. I’m grateful.</p>
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/index.html b/blog/index.html
index a3135265ae..c4e1c736ce 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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="image" content="/images/feature-image.png">
@@ -52,8 +52,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -83,8 +83,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -2073,6 +2073,6 @@
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/index.xml b/blog/index.xml
index 54bfa88227..da5820fe3e 100644
--- a/blog/index.xml
+++ b/blog/index.xml
@@ -8,7 +8,7 @@
<id>/blog/</id>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<entry>
@@ -16,7 +16,7 @@
<link href="/blog/airflow-survey-2025/" rel="alternate"/>
<id>/blog/airflow-survey-2025/</id>
<published>2026-01-22T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -38,7 +38,7 @@
<link href="/blog/airflowctl-0.1.0/" rel="alternate"/>
<id>/blog/airflowctl-0.1.0/</id>
<published>2025-10-15T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -200,7 +200,7 @@ The secure CLI foundation lays the groundwork for Airflow’s next generation. A
<link href="/blog/airflow-3.1.0/" rel="alternate"/>
<id>/blog/airflow-3.1.0/</id>
<published>2025-09-25T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -385,7 +385,7 @@ human-centered. We can’t wait to see what you build with it!</p>
<link href="/blog/airflow-three-point-oh-is-here/" rel="alternate"/>
<id>/blog/airflow-three-point-oh-is-here/</id>
<published>2025-04-22T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -791,7 +791,7 @@ Let’s build the future of data orchestration—together.</p>
<link href="/blog/airflow-survey-2024/" rel="alternate"/>
<id>/blog/airflow-survey-2024/</id>
<published>2025-02-27T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -813,7 +813,7 @@ Let’s build the future of data orchestration—together.</p>
<link href="/blog/airflow-2.10.0/" rel="alternate"/>
<id>/blog/airflow-2.10.0/</id>
<published>2024-08-08T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -937,7 +937,7 @@ executor = 'LocalExecutor,KubernetesExecutor,my.custom.module.ExecutorClass:
<link href="/blog/airflow-2.9.0/" rel="alternate"/>
<id>/blog/airflow-2.9.0/</id>
<published>2024-04-08T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -1059,7 +1059,7 @@ xcom_objectstorage_compression = gzip
<link href="/blog/fab-oid-vulnerability/" rel="alternate"/>
<id>/blog/fab-oid-vulnerability/</id>
<published>2024-02-26T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -1146,7 +1146,7 @@ where Flask AppBuilder is also used.</p>
<link href="/blog/airflow-2.8.0/" rel="alternate"/>
<id>/blog/airflow-2.8.0/</id>
<published>2023-12-15T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -1227,7 +1227,7 @@ We care for your security, and “secure by default” is one of the thi
<link href="/blog/airflow-survey-2023/" rel="alternate"/>
<id>/blog/airflow-survey-2023/</id>
<published>2023-09-21T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -1246,7 +1246,7 @@ We care for your security, and “secure by default” is one of the thi
<link href="/blog/airflow-2.7.0/" rel="alternate"/>
<id>/blog/airflow-2.7.0/</id>
<published>2023-08-18T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -1309,7 +1309,7 @@ The following providers have been moved and require certain minimum providers ve
<link href="/blog/introducing_setup_teardown/" rel="alternate"/>
<id>/blog/introducing_setup_teardown/</id>
<published>2023-08-18T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -1358,7 +1358,7 @@ The following providers have been moved and require certain minimum providers ve
<link href="/blog/airflow-2.6.0/" rel="alternate"/>
<id>/blog/airflow-2.6.0/</id>
<published>2023-04-30T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -1418,7 +1418,7 @@ The following providers have been moved and require certain minimum providers ve
<link href="/blog/airflow-2.5.0/" rel="alternate"/>
<id>/blog/airflow-2.5.0/</id>
<published>2022-12-02T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -1454,7 +1454,7 @@ c. Everything runs in one process, so you can put a breakpoint in your IDE, and
<link href="/blog/airflow-2.4.0/" rel="alternate"/>
<id>/blog/airflow-2.4.0/</id>
<published>2022-09-19T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -1559,7 +1559,7 @@ c. Everything runs in one process, so you can put a breakpoint in your IDE, and
<link href="/blog/airflow-survey-2022/" rel="alternate"/>
<id>/blog/airflow-survey-2022/</id>
<published>2022-06-17T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -3250,7 +3250,7 @@ c. Everything runs in one process, so you can put a breakpoint in your IDE, and
<link href="/blog/airflow_summit_2022/" rel="alternate"/>
<id>/blog/airflow_summit_2022/</id>
<published>2022-05-16T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -3275,7 +3275,7 @@ communities to watch the event and network.</p>
<link href="/blog/airflow-2.3.0/" rel="alternate"/>
<id>/blog/airflow-2.3.0/</id>
<published>2022-04-30T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -3377,7 +3377,7 @@ Sade’s “Smooth Operator”. Enjoy!</li>
<link href="/blog/airflow-2.2.0/" rel="alternate"/>
<id>/blog/airflow-2.2.0/</id>
<published>2021-10-11T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -3433,7 +3433,7 @@ Sade’s “Smooth Operator”. Enjoy!</li>
<link href="/blog/airflow_summit_2021/" rel="alternate"/>
<id>/blog/airflow_summit_2021/</id>
<published>2021-03-21T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -3455,7 +3455,7 @@ participate in its development.</p>
<link href="/blog/airflow-survey-2020/" rel="alternate"/>
<id>/blog/airflow-survey-2020/</id>
<published>2021-03-09T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -4780,7 +4780,7 @@ to share their experience and tools.</p>
<link href="/blog/airflow-two-point-oh-is-here/" rel="alternate"/>
<id>/blog/airflow-two-point-oh-is-here/</id>
<published>2020-12-17T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -4874,7 +4874,7 @@ Docs on <a href="http://airflow.apache.org/docs/apache-airflow-providers/package
<link href="/blog/experience-with-airflow-as-an-outreachy-intern/" rel="alternate"/>
<id>/blog/experience-with-airflow-as-an-outreachy-intern/</id>
<published>2020-08-30T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -4935,7 +4935,7 @@ community that has been made my summer, one to remember.</p>
<link href="/blog/airflow-1.10.12/" rel="alternate"/>
<id>/blog/airflow-1.10.12/</id>
<published>2020-08-25T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -5056,7 +5056,7 @@ William Tran, Xiaodong Deng, YI FU, Zikun Zhu, dewaldabrie, pulsar314, retornam,
<link href="/blog/apache-airflow-for-newcomers/" rel="alternate"/>
<id>/blog/apache-airflow-for-newcomers/</id>
<published>2020-08-17T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -5169,7 +5169,7 @@ and <a href="https://github.com/turbaszek">Tomek</a> for all their support. I&rs
<link href="/blog/implementing-stable-api-for-apache-airflow/" rel="alternate"/>
<id>/blog/implementing-stable-api-for-apache-airflow/</id>
<published>2020-07-19T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -5255,7 +5255,7 @@ wonderful reviews. I’m grateful.</p>
<link href="/blog/airflow-1.10.10/" rel="alternate"/>
<id>/blog/airflow-1.10.10/</id>
<published>2020-04-09T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -5398,7 +5398,7 @@ objc[1873]: +[__NSPlaceholderDate initialize] may have been in progress in anoth
<link href="/blog/airflow-1.10.8-1.10.9/" rel="alternate"/>
<id>/blog/airflow-1.10.8-1.10.9/</id>
<published>2020-02-23T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -5453,7 +5453,7 @@ for 1.10.* series but would no longer be available from Airflow 2.0</p>
<link href="/blog/experience-in-google-season-of-docs-2019-with-apache-airflow/" rel="alternate"/>
<id>/blog/experience-in-google-season-of-docs-2019-with-apache-airflow/</id>
<published>2019-12-20T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -5551,7 +5551,7 @@ After a lot of trial and error, we arrived at a version with which both of us co
<link href="/blog/airflow-survey/" rel="alternate"/>
<id>/blog/airflow-survey/</id>
<published>2019-12-11T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -6354,7 +6354,7 @@ declare DAGs.</p>
<link href="/blog/announcing-new-website/" rel="alternate"/>
<id>/blog/announcing-new-website/</id>
<published>2019-12-11T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -6386,7 +6386,7 @@ and that its improved accessibility increases adoption and use of Apache Airflow
<link href="/blog/apache-con-europe-2019-thoughts-and-insights-by-airflow-committers/" rel="alternate"/>
<id>/blog/apache-con-europe-2019-thoughts-and-insights-by-airflow-committers/</id>
<published>2019-11-22T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -6401,7 +6401,7 @@ and that its improved accessibility increases adoption and use of Apache Airflow
<link href="/blog/documenting-using-local-development-environments/" rel="alternate"/>
<id>/blog/documenting-using-local-development-environments/</id>
<published>2019-11-22T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
@@ -6440,7 +6440,7 @@ a team for 3 months.</p>
<link href="/blog/its-a-breeze-to-develop-apache-airflow/" rel="alternate"/>
<id>/blog/its-a-breeze-to-develop-apache-airflow/</id>
<published>2019-11-22T00:00:00Z</published>
- <updated>2026-02-20T12:06:57Z</updated>
+ <updated>2026-03-10T01:54:53Z</updated>
<author>
<name>Apache Airflow</name>
</author>
diff --git a/blog/introducing_setup_teardown/index.html b/blog/introducing_setup_teardown/index.html
index 6d118d3cde..cc5f753509 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="678">
<meta itemprop="image" content="/images/feature-image.png">
@@ -56,8 +56,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -87,8 +87,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -823,6 +823,6 @@
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
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 b1b3f989b3..b6eae88051 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00:00">
<meta property="article:tag" content="Development">
<meta property="og:image" content="/images/feature-image.png">
<meta itemprop="name" content="It's a "Breeze" to develop Apache Airflow">
<meta itemprop="description" content="A Principal Software Engineer'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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="124">
<meta itemprop="image" content="/images/feature-image.png">
<meta itemprop="keywords" content="Development">
@@ -58,8 +58,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -89,8 +89,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -879,6 +879,6 @@
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/blog/tags/airflow-summit/index.html b/blog/tags/airflow-summit/index.html
index 0c7b7965b1..e1c4829d8e 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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="image" content="/images/feature-image.png">
@@ -53,8 +53,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -84,8 +84,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -843,7 +843,7 @@
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</body>
</html>
diff --git a/blog/tags/airflow-summit/index.xml b/blog/tags/airflow-summit/index.xml
index fb7dcfe21c..2e1e17db8f 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, 20 Feb 2026 12:06:57 +0000</lastBuildDate>
+ <lastBuildDate>Tue, 10 Mar 2026 01:54:53 +0000</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 acb94ef5c9..fcbc5aedaf 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-01-22T00:00:00+00:00">
- <meta itemprop="dateModified" content="2026-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="image" content="/images/feature-image.png">
@@ -53,8 +53,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -84,8 +84,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -1261,7 +1261,7 @@
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</body>
</html>
diff --git a/blog/tags/community/index.xml b/blog/tags/community/index.xml
index 49ab782446..957c5c3761 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, 20 Feb 2026 12:06:57 +0000</lastBuildDate>
+ <lastBuildDate>Tue, 10 Mar 2026 01:54:53 +0000</lastBuildDate>
<atom:link href="/blog/tags/community/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Airflow Survey 2025</title>
diff --git a/blog/tags/development/index.html b/blog/tags/development/index.html
index 8e4b7784d8..dae41a9379 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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="image" content="/images/feature-image.png">
@@ -53,8 +53,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -84,8 +84,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -835,7 +835,7 @@
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</body>
</html>
diff --git a/blog/tags/development/index.xml b/blog/tags/development/index.xml
index 93f6426f0e..066bd6d22a 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, 20 Feb 2026 12:06:57 +0000</lastBuildDate>
+ <lastBuildDate>Tue, 10 Mar 2026 01:54:53 +0000</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 cd2b88b627..b9e5b9c270 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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="image" content="/images/feature-image.png">
@@ -53,8 +53,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -84,8 +84,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -798,7 +798,7 @@
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</body>
</html>
diff --git a/blog/tags/documentation/index.xml b/blog/tags/documentation/index.xml
index 87237054dc..d391165dd0 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, 20 Feb 2026 12:06:57 +0000</lastBuildDate>
+ <lastBuildDate>Tue, 10 Mar 2026 01:54:53 +0000</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 2861d86788..97122f2cee 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="2025-10-15T00:00:00+00:00">
- <meta itemprop="dateModified" content="2026-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="image" content="/images/feature-image.png">
@@ -53,8 +53,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -84,8 +84,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -1366,7 +1366,7 @@
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</body>
</html>
diff --git a/blog/tags/release/index.xml b/blog/tags/release/index.xml
index 025c02b1f2..63711d9289 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, 20 Feb 2026 12:06:57 +0000</lastBuildDate>
+ <lastBuildDate>Tue, 10 Mar 2026 01:54:53 +0000</lastBuildDate>
<atom:link href="/blog/tags/release/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Apache Airflow CTL aka airflowctl 0.1.0</title>
diff --git a/blog/tags/rest-api/index.html b/blog/tags/rest-api/index.html
index f424aba91a..2678c94e58 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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="image" content="/images/feature-image.png">
@@ -53,8 +53,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -84,8 +84,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -798,7 +798,7 @@
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</body>
</html>
diff --git a/blog/tags/rest-api/index.xml b/blog/tags/rest-api/index.xml
index 1ea65d6726..e20519debc 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, 20 Feb 2026 12:06:57 +0000</lastBuildDate>
+ <lastBuildDate>Tue, 10 Mar 2026 01:54:53 +0000</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 da0c87b2aa..de77a449f9 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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="image" content="/images/feature-image.png">
@@ -53,8 +53,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -84,8 +84,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -1031,7 +1031,7 @@
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</body>
</html>
diff --git a/blog/tags/survey/index.xml b/blog/tags/survey/index.xml
index b1f968a04a..fab2977407 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, 20 Feb 2026 12:06:57 +0000</lastBuildDate>
+ <lastBuildDate>Tue, 10 Mar 2026 01:54:53 +0000</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/users/index.html b/blog/tags/users/index.html
index 8e6f79e253..34aeb42dd0 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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="image" content="/images/feature-image.png">
@@ -53,8 +53,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -84,8 +84,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -1031,7 +1031,7 @@
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</body>
</html>
diff --git a/blog/tags/users/index.xml b/blog/tags/users/index.xml
index aa9a406f79..9685502997 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, 20 Feb 2026 12:06:57 +0000</lastBuildDate>
+ <lastBuildDate>Tue, 10 Mar 2026 01:54:53 +0000</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 74bdbc10cf..063211b04a 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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="image" content="/images/feature-image.png">
@@ -53,8 +53,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -84,8 +84,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -798,7 +798,7 @@
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</body>
</html>
diff --git a/blog/tags/vulnerabilities/index.xml b/blog/tags/vulnerabilities/index.xml
index 6158f9453c..1814e624a8 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, 20 Feb 2026 12:06:57 +0000</lastBuildDate>
+ <lastBuildDate>Tue, 10 Mar 2026 01:54:53 +0000</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/categories/index.html b/categories/index.html
index 575dbb68d7..91f135cee1 100644
--- a/categories/index.html
+++ b/categories/index.html
@@ -51,8 +51,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -82,8 +82,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -681,7 +681,7 @@
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</body>
</html>
diff --git a/chunk-187.0aea7.js b/chunk-187.d9cd6.js
similarity index 100%
rename from chunk-187.0aea7.js
rename to chunk-187.d9cd6.js
diff --git a/chunk-291.0aea7.js b/chunk-291.d9cd6.js
similarity index 99%
rename from chunk-291.0aea7.js
rename to chunk-291.d9cd6.js
index 6a5a210b31..663e44cccf 100644
--- a/chunk-291.0aea7.js
+++ b/chunk-291.d9cd6.js
@@ -1,2 +1,2 @@
-/*! For license information please see chunk-291.0aea7.js.LICENSE.txt */
+/*! For license information please see chunk-291.d9cd6.js.LICENSE.txt */
(self.webpackChunkapache_airflow_site=self.webpackChunkapache_airflow_site||[]).push([[291],{8291(e,t,r){var i,n;!function(){var s,o,a,u,l,c,h,d,f,p,y,m,g,x,v,w,Q,k,S,E,L,b,P,T,O,I,R,F,C,_,N=function(e){var t=new N.Builder;return t.pipeline.add(N.trimmer,N.stopWordFilter,N.stemmer),t.searchPipeline.add(N.stemmer),e.call(t,t),t.build()};N.version="2.3.9",N.utils={},N.utils.warn=(s=this,function(e){s.console&&console.warn&&console.warn(e)}),N.utils.asString=function(e){return null==e?"":e. [...]
\ No newline at end of file
diff --git a/chunk-291.0aea7.js.LICENSE.txt b/chunk-291.d9cd6.js.LICENSE.txt
similarity index 100%
rename from chunk-291.0aea7.js.LICENSE.txt
rename to chunk-291.d9cd6.js.LICENSE.txt
diff --git a/chunk-499.0aea7.js b/chunk-499.0aea7.js
deleted file mode 100644
index 327297ceb7..0000000000
--- a/chunk-499.0aea7.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see chunk-499.0aea7.js.LICENSE.txt */
-(self.webpackChunkapache_airflow_site=self.webpackChunkapache_airflow_site||[]).push([[499],{7928(e){!function(t,r){e.exports=r()}(self,()=>(()=>{"use strict";var e={177:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BezierPath=void 0;const n=r(558),i=r(188);t.BezierPath=class{constructor(e){this.samples=[],this.segments=e;const t=e.map(e=>e.getTotalLength()),r=[0];for(let e=1;e<t.length;e++)r.push(r[e-1]+t[e-1]);this._totalLength=r[r.length-1]+t[t.length-1];const s=e.map(e [...]
\ No newline at end of file
diff --git a/chunk-499.0aea7.js.LICENSE.txt b/chunk-499.0aea7.js.LICENSE.txt
deleted file mode 100644
index dcdbee230f..0000000000
--- a/chunk-499.0aea7.js.LICENSE.txt
+++ /dev/null
@@ -1 +0,0 @@
-/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */
diff --git a/chunk-537.0aea7.js b/chunk-537.d9cd6.js
similarity index 100%
rename from chunk-537.0aea7.js
rename to chunk-537.d9cd6.js
diff --git a/chunk-608.0aea7.js b/chunk-608.d9cd6.js
similarity index 98%
rename from chunk-608.0aea7.js
rename to chunk-608.d9cd6.js
index dbc38640ed..86ce704fe7 100644
--- a/chunk-608.0aea7.js
+++ b/chunk-608.d9cd6.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkapache_airflow_site=self.webpackChunkapache_airflow_site||[]).push([[608],{6999(t,e,r){r.d(e,{initHeaderAnimation:()=>b});var n=r(3499),o=r(8221),i=r.n(o);function a(t){return function(t){if(Array.isArray(t))return c(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return c(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.con [...]
\ No newline at end of file
+"use strict";(self.webpackChunkapache_airflow_site=self.webpackChunkapache_airflow_site||[]).push([[608],{6999(t,e,r){r.d(e,{initHeaderAnimation:()=>b});var n=r(4808),o=r(8221),i=r.n(o);function a(t){return function(t){if(Array.isArray(t))return c(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return c(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.con [...]
\ No newline at end of file
diff --git a/chunk-744.0aea7.js b/chunk-744.d9cd6.js
similarity index 100%
rename from chunk-744.0aea7.js
rename to chunk-744.d9cd6.js
diff --git a/chunk-808.d9cd6.js b/chunk-808.d9cd6.js
new file mode 100644
index 0000000000..0676c8c486
--- /dev/null
+++ b/chunk-808.d9cd6.js
@@ -0,0 +1 @@
+(self.webpackChunkapache_airflow_site=self.webpackChunkapache_airflow_site||[]).push([[808],{4341(e,t){"use strict";var r=function(){function e(){}return e.parse=function(t){for(var r=new Set,n=0,i=t;n<i.length;n++){var s=i[n];if(!e.REGEXP.test(s))throw new TypeError('"'+s+'" is invalid unicode-range.');var o=s.match(e.REGEXP),a=o[1],u=o[2],l=o[3];if(a){if(/\?[^?]+$/.test(a))throw new TypeError('"'+s+'" is invalid unicode-range.');if(a.includes("?"))for(var h=a.replace(/\?/g,"0"),c=a.rep [...]
\ No newline at end of file
diff --git a/code-of-conduct/index.html b/code-of-conduct/index.html
index 3a30c1528e..094d1cbe6d 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+ 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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="1576">
<meta itemprop="image" content="/images/feature-image.png">
@@ -55,8 +55,8 @@ Airflow Slack Guidelines Airflow Slack abides by The Apache Foundation’s Code
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -86,8 +86,8 @@ Airflow Slack Guidelines Airflow Slack abides by The Apache Foundation’s Code
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -866,7 +866,7 @@ Airflow Slack Guidelines Airflow Slack abides by The Apache Foundation’s Code
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</body>
</html>
diff --git a/community/index.html b/community/index.html
index 3df3f81db3..f7942b0646 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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="560">
<meta itemprop="image" content="/images/feature-image.png">
@@ -53,8 +53,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -84,8 +84,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -1766,6 +1766,35 @@
+<div class="card">
+ <div class="box-event">
+ <img src="/external/profiles/gopidesupavan.png" alt="Committer Pavan Kumar Gopidesu" class="avatar"/>
+ <p class="box-event__committer--nick">@gopidesupavan</p>
+ <p class="bodytext__medium--brownish-grey">Pavan Kumar Gopidesu</p>
+ <div class="box-event__committer--social-media-container">
+
+
+
+ <a href="https://github.com/gopidesupavan" class="box-event__committer--social-media-icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
+ <path d="M15.379 0a15.381 15.381 0 00-4.86 29.974c.769.141 1.05-.334 1.05-.741 0-.365-.013-1.332-.021-2.616-4.278.929-5.181-2.062-5.181-2.062a4.071 4.071 0 00-1.708-2.25c-1.4-.954.106-.935.106-.935a3.231 3.231 0 012.356 1.585 3.274 3.274 0 004.476 1.278 3.287 3.287 0 01.976-2.056c-3.415-.388-7.005-1.707-7.005-7.6a5.947 5.947 0 011.583-4.127 5.53 5.53 0 01.151-4.07s1.291-.413 4.229 1.577a14.577 14.577 0 017.7 0c2.936-1.99 4.225-1.577 4.225-1.577a5.523 5.523 0 01.153 4.07 5.937 5.937 0 [...]
+ data-name="Path 224" fill="#51504f" fill-rule="evenodd"/>
+</svg>
+
+ </a>
+
+
+
+ </div>
+ </div>
+</div>
+
+ </div>
+
+ <div class="list-item">
+
+
+
<div class="card">
<div class="box-event">
<img src="/external/profiles/pierrejeambrun.png" alt="Committer Pierre Jeambrun" class="avatar"/>
@@ -2764,35 +2793,6 @@
-<div class="card">
- <div class="box-event">
- <img src="/external/profiles/gopidesupavan.png" alt="Committer Pavan Kumar Gopidesu" class="avatar"/>
- <p class="box-event__committer--nick">@gopidesupavan</p>
- <p class="bodytext__medium--brownish-grey">Pavan Kumar Gopidesu</p>
- <div class="box-event__committer--social-media-container">
-
-
-
- <a href="https://github.com/gopidesupavan" class="box-event__committer--social-media-icon">
- <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
- <path d="M15.379 0a15.381 15.381 0 00-4.86 29.974c.769.141 1.05-.334 1.05-.741 0-.365-.013-1.332-.021-2.616-4.278.929-5.181-2.062-5.181-2.062a4.071 4.071 0 00-1.708-2.25c-1.4-.954.106-.935.106-.935a3.231 3.231 0 012.356 1.585 3.274 3.274 0 004.476 1.278 3.287 3.287 0 01.976-2.056c-3.415-.388-7.005-1.707-7.005-7.6a5.947 5.947 0 011.583-4.127 5.53 5.53 0 01.151-4.07s1.291-.413 4.229 1.577a14.577 14.577 0 017.7 0c2.936-1.99 4.225-1.577 4.225-1.577a5.523 5.523 0 01.153 4.07 5.937 5.937 0 [...]
- data-name="Path 224" fill="#51504f" fill-rule="evenodd"/>
-</svg>
-
- </a>
-
-
-
- </div>
- </div>
-</div>
-
- </div>
-
- <div class="list-item">
-
-
-
<div class="card">
<div class="box-event">
<img src="/external/profiles/phanikumv.png" alt="Committer Phani Kumar" class="avatar"/>
@@ -4483,6 +4483,35 @@
+<div class="card">
+ <div class="box-event">
+ <img src="/external/profiles/gopidesupavan.png" alt="Committer Pavan Kumar Gopidesu" class="avatar"/>
+ <p class="box-event__committer--nick">@gopidesupavan</p>
+ <p class="bodytext__medium--brownish-grey">Pavan Kumar Gopidesu</p>
+ <div class="box-event__committer--social-media-container">
+
+
+
+ <a href="https://github.com/gopidesupavan" class="box-event__committer--social-media-icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
+ <path d="M15.379 0a15.381 15.381 0 00-4.86 29.974c.769.141 1.05-.334 1.05-.741 0-.365-.013-1.332-.021-2.616-4.278.929-5.181-2.062-5.181-2.062a4.071 4.071 0 00-1.708-2.25c-1.4-.954.106-.935.106-.935a3.231 3.231 0 012.356 1.585 3.274 3.274 0 004.476 1.278 3.287 3.287 0 01.976-2.056c-3.415-.388-7.005-1.707-7.005-7.6a5.947 5.947 0 011.583-4.127 5.53 5.53 0 01.151-4.07s1.291-.413 4.229 1.577a14.577 14.577 0 017.7 0c2.936-1.99 4.225-1.577 4.225-1.577a5.523 5.523 0 01.153 4.07 5.937 5.937 0 [...]
+ data-name="Path 224" fill="#51504f" fill-rule="evenodd"/>
+</svg>
+
+ </a>
+
+
+
+ </div>
+ </div>
+</div>
+
+ </div>
+
+ <div class="list-item">
+
+
+
<div class="card">
<div class="box-event">
<img src="/external/profiles/pierrejeambrun.png" alt="Committer Pierre Jeambrun" class="avatar"/>
@@ -5481,35 +5510,6 @@
-<div class="card">
- <div class="box-event">
- <img src="/external/profiles/gopidesupavan.png" alt="Committer Pavan Kumar Gopidesu" class="avatar"/>
- <p class="box-event__committer--nick">@gopidesupavan</p>
- <p class="bodytext__medium--brownish-grey">Pavan Kumar Gopidesu</p>
- <div class="box-event__committer--social-media-container">
-
-
-
- <a href="https://github.com/gopidesupavan" class="box-event__committer--social-media-icon">
- <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
- <path d="M15.379 0a15.381 15.381 0 00-4.86 29.974c.769.141 1.05-.334 1.05-.741 0-.365-.013-1.332-.021-2.616-4.278.929-5.181-2.062-5.181-2.062a4.071 4.071 0 00-1.708-2.25c-1.4-.954.106-.935.106-.935a3.231 3.231 0 012.356 1.585 3.274 3.274 0 004.476 1.278 3.287 3.287 0 01.976-2.056c-3.415-.388-7.005-1.707-7.005-7.6a5.947 5.947 0 011.583-4.127 5.53 5.53 0 01.151-4.07s1.291-.413 4.229 1.577a14.577 14.577 0 017.7 0c2.936-1.99 4.225-1.577 4.225-1.577a5.523 5.523 0 01.153 4.07 5.937 5.937 0 [...]
- data-name="Path 224" fill="#51504f" fill-rule="evenodd"/>
-</svg>
-
- </a>
-
-
-
- </div>
- </div>
-</div>
-
- </div>
-
- <div class="list-item">
-
-
-
<div class="card">
<div class="box-event">
<img src="/external/profiles/phanikumv.png" alt="Committer Phani Kumar" class="avatar"/>
@@ -6102,6 +6102,6 @@
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/community/resources/index.html b/community/resources/index.html
index b5748b845d..ce633948f3 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-02-20T12:06:57+00:00">
+ <meta property="article:modified_time" content="2026-03-10T01:54:53+00: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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="43">
<meta itemprop="image" content="/images/feature-image.png">
@@ -54,8 +54,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -85,8 +85,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -732,6 +732,6 @@
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/css/katex.min.css b/css/katex.min.css
index 47efdbfbec..8c0e808c7d 100644
--- a/css/katex.min.css
+++ b/css/katex.min.css
@@ -1 +1 @@
-@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) form [...]
+@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) form [...]
diff --git a/docs.0aea7.js b/docs.d9cd6.js
similarity index 100%
rename from docs.0aea7.js
rename to docs.d9cd6.js
diff --git a/docs/index.html b/docs/index.html
index e4bec71fa9..0a8150b9b7 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 the 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 the documentation »">
- <meta itemprop="dateModified" content="2026-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="wordCount" content="586">
<meta itemprop="image" content="/images/feature-image.png">
@@ -55,8 +55,8 @@ Apache Airflow CTL (airflowctl) Apache Airflow CTL (airflowctl) is a command-lin
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -86,8 +86,8 @@ Apache Airflow CTL (airflowctl) Apache Airflow CTL (airflowctl) is a command-lin
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -955,6 +955,6 @@ use the released versions of these providers if you need to.</p>
</body>
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</html>
diff --git a/ecosystem/index.html b/ecosystem/index.html
index 76d2f9f402..098c6c166f 100644
--- a/ecosystem/index.html
+++ b/ecosystem/index.html
@@ -36,8 +36,8 @@ 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-02-20T12:06:57+00:00">
- <meta itemprop="wordCount" content="2089">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
+ <meta itemprop="wordCount" content="2190">
<meta itemprop="image" content="/images/feature-image.png">
@@ -55,8 +55,8 @@ If you would you like to be included on this page, please reach out to the Apach
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -86,8 +86,8 @@ If you would you like to be included on this page, please reach out to the Apach
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -521,7 +521,9 @@ If you would you like to be included on this page, please reach out to the Apach
<p><a href="https://github.com/howardyoo/airflow_otel_provider">Airflow OpenTelemetry Provider</a> - Provides Hook and EventListener which will generate traces, metrics, and logs in <a href="https://opentelemetry.io/">OpenTelemetry</a> for your DAG runs.</p>
<p><a href="https://github.com/Couchbase-Ecosystem/airflow-providers-couchbase">Airflow Couchbase Provider</a> - Provides Hook to seamlessly interact with Couchbase databases, execute queries, manage documents, and more.</p>
<p><a href="https://github.com/j6takish/airflow-provider-sap-hana">Airflow SAP HANA Provider</a> - Provides Hook to interact with SAP HANA. Allows the use of the Airflow SQL Operators and database hook methods, including methods which interact with sqlalchemy.</p>
+<p><a href="https://github.com/Redevil10/airflow-postgres-csv">Airflow Postgres CSV</a> - Airflow operators for bulk PostgreSQL ↔ CSV transfers using PostgreSQL’s native <code>COPY</code> command. Provides <code>PostgresToCsvOperator</code> and <code>CsvToPostgresOperator</code> with support for gzip compression, parameterised queries, and SQL file loading. Available on <a href="https://pypi.org/project/airflow-postgres-csv/">PyPI</a>.</p>
<p><a href="https://github.com/emredjan/airflow-ldap-auth-manager">Airflow LDAP Auth Manager</a> - An Auth Manager for Apache Airflow 3.x that authenticates users against LDAP/Active Directory and maps LDAP groups to Airflow roles (admin / editor / viewer).</p>
+<p><a href="https://github.com/ram07eng/airflow-watcher">Airflow Watcher</a> - An Airflow UI plugin for monitoring DAG failures, SLA misses, task health, scheduling lag, and cross-DAG dependencies. Includes dashboard views, REST API, and multi-channel alerting (Slack, PagerDuty, Email) with StatsD and Prometheus metrics export. Available on <a href="https://pypi.org/project/airflow-watcher/">PyPI</a>.</p>
<p> </p>
<h2 id="async-providers">Async Providers</h2>
<p><a href="https://github.com/astronomer/astronomer-providers">Astronomer Providers</a> - A collection of Async Operators and Sensors for Apache Airflow built and maintained by Astronomer.</p>
@@ -559,6 +561,7 @@ If you would you like to be included on this page, please reach out to the Apach
<p><a href="https://docs.getdbt.com/">dbt (data build tool)</a> - Data transformation tool, <a href="https://docs.getdbt.com/docs/running-a-dbt-project/running-dbt-in-production/#using-airflow">dbt jobs can be scheduled using Airflow</a>.</p>
<p><a href="https://github.com/Tauffer-Consulting/domino">Domino</a> - Domino is an open source Graphical User Interface platform for creating data and Machine Learning workflows (DAGs) with no-code, visually intuitive drag-and-drop actions. It is also a standard for publishing and sharing your Python code so it can be automatically used by anyone, directly in the GUI.</p>
<p><a href="https://github.com/elyra-ai/elyra">Elyra</a> - Elyra provides a visual editor that enables data scientists to create AI pipelines in a low-code/no-code fashion.</p>
+<p><a href="https://github.com/jvanbuel/flowrs">Flowrs</a> - Flowrs is a TUI application for Apache Airflow that allows you to monitor, inspect and trigger Airflow DAGs from the comforts of your terminal.</p>
<p><a href="https://github.com/chriscardillo/gusty">gusty</a> - Create a DAG using any number of YAML, Python, Jupyter Notebook, or R Markdown files that represent individual tasks in the DAG. gusty also configures dependencies, DAGs, and TaskGroups, features support for your local operators, and more. A fully containerized demo is available <a href="https://github.com/chriscardillo/gusty-demo">here</a>.</p>
<p><a href="https://marquezproject.ai">Marquez</a> - Marquez is an open source metadata service that maintains data provenance, shows how datasets are consumed and produced and centralizes dataset lifecycle management. Marquez can be used with Apache Airflow as an OpenLineage backend.</p>
<p><a href="https://www.meltano.com/">Meltano</a> - Open source, self-hosted, CLI-first, debuggable, and extensible ELT tool that embraces <a href="https://www.singer.io">Singer</a> for extraction and loading, leverages <a href="https://www.getdbt.com">dbt</a> for transformation, and <a href="https://meltano.com/#orchestration">integrates with Airflow for orchestration</a>.</p>
@@ -801,7 +804,7 @@ If you would you like to be included on this page, please reach out to the Apach
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</body>
</html>
diff --git a/favicon.ico b/favicon.ico
index 8f4ce22a10..43f5aab7f8 100644
Binary files a/favicon.ico and b/favicon.ico differ
diff --git a/favicons/android-144x144.png b/favicons/android-144x144.png
index 6bb9b217bc..48695b7434 100644
Binary files a/favicons/android-144x144.png and b/favicons/android-144x144.png differ
diff --git a/favicons/android-192x192.png b/favicons/android-192x192.png
index 1e428c4fdf..52776d4290 100644
Binary files a/favicons/android-192x192.png and b/favicons/android-192x192.png differ
diff --git a/favicons/android-36x36.png b/favicons/android-36x36.png
index cdd36f1906..0989d4e7b7 100644
Binary files a/favicons/android-36x36.png and b/favicons/android-36x36.png differ
diff --git a/favicons/android-48x48.png b/favicons/android-48x48.png
index 9584c46749..aa31ec370d 100644
Binary files a/favicons/android-48x48.png and b/favicons/android-48x48.png differ
diff --git a/favicons/android-72x72.png b/favicons/android-72x72.png
index d22cdbf69a..34e5d90c55 100644
Binary files a/favicons/android-72x72.png and b/favicons/android-72x72.png differ
diff --git a/favicons/android-96x96.png b/favicons/android-96x96.png
index 01336f34a8..cfeb8a2acf 100644
Binary files a/favicons/android-96x96.png and b/favicons/android-96x96.png differ
diff --git a/favicons/android-icon-144x144.png b/favicons/android-icon-144x144.png
index 6bb9b217bc..48695b7434 100644
Binary files a/favicons/android-icon-144x144.png and b/favicons/android-icon-144x144.png differ
diff --git a/favicons/android-icon-192x192.png b/favicons/android-icon-192x192.png
index 1e428c4fdf..52776d4290 100644
Binary files a/favicons/android-icon-192x192.png and b/favicons/android-icon-192x192.png differ
diff --git a/favicons/android-icon-36x36.png b/favicons/android-icon-36x36.png
index cdd36f1906..0989d4e7b7 100644
Binary files a/favicons/android-icon-36x36.png and b/favicons/android-icon-36x36.png differ
diff --git a/favicons/android-icon-48x48.png b/favicons/android-icon-48x48.png
index 9584c46749..aa31ec370d 100644
Binary files a/favicons/android-icon-48x48.png and b/favicons/android-icon-48x48.png differ
diff --git a/favicons/android-icon-72x72.png b/favicons/android-icon-72x72.png
index d22cdbf69a..34e5d90c55 100644
Binary files a/favicons/android-icon-72x72.png and b/favicons/android-icon-72x72.png differ
diff --git a/favicons/android-icon-96x96.png b/favicons/android-icon-96x96.png
index 01336f34a8..cfeb8a2acf 100644
Binary files a/favicons/android-icon-96x96.png and b/favicons/android-icon-96x96.png differ
diff --git a/favicons/apple-touch-icon-180x180.png b/favicons/apple-touch-icon-180x180.png
index 8dafca2549..54d1322fb9 100644
Binary files a/favicons/apple-touch-icon-180x180.png and b/favicons/apple-touch-icon-180x180.png differ
diff --git a/favicons/favicon-1024.png b/favicons/favicon-1024.png
index 0657ebea72..d910409ab8 100644
Binary files a/favicons/favicon-1024.png and b/favicons/favicon-1024.png differ
diff --git a/favicons/favicon-16x16.png b/favicons/favicon-16x16.png
index 6a49564970..91f56fa52b 100644
Binary files a/favicons/favicon-16x16.png and b/favicons/favicon-16x16.png differ
diff --git a/favicons/favicon-256.png b/favicons/favicon-256.png
index 3bc65de9ee..9b5fd3c9a6 100644
Binary files a/favicons/favicon-256.png and b/favicons/favicon-256.png differ
diff --git a/favicons/favicon-32x32.png b/favicons/favicon-32x32.png
index 60a576dcfe..abed1e27e2 100644
Binary files a/favicons/favicon-32x32.png and b/favicons/favicon-32x32.png differ
diff --git a/favicons/favicon-96x96.png b/favicons/favicon-96x96.png
index 36492f71ac..3e06e6d828 100644
Binary files a/favicons/favicon-96x96.png and b/favicons/favicon-96x96.png differ
diff --git a/favicons/favicon.ico b/favicons/favicon.ico
index 94e96b70ad..43f5aab7f8 100644
Binary files a/favicons/favicon.ico and b/favicons/favicon.ico differ
diff --git a/favicons/favicon.svg b/favicons/favicon.svg
new file mode 100644
index 0000000000..9706df2abb
--- /dev/null
+++ b/favicons/favicon.svg
@@ -0,0 +1,18 @@
+<svg width="175" height="175" viewBox="-18 -18 211 211" fill="none" xmlns="http://www.w3.org/2000/svg">
+<g clip-path="url(#clip0)">
+<path d="M4.18587 172.44L86.3959 88.1685C86.9109 87.6406 87.0096 86.8244 86.5801 86.2249C81.5792 79.2442 72.3564 78.0343 68.9375 73.3445C58.8101 59.4522 56.2405 51.5891 51.8887 52.0768C51.5847 52.1109 51.3137 52.2745 51.1001 52.4934L21.4015 82.9367C4.31645 100.45 1.86636 139.01 1.41703 171.298C1.39673 172.757 3.1669 173.484 4.18587 172.44Z" fill="#017CEE"/>
+<path d="M172.44 170.357L88.1685 88.1466C87.6406 87.6316 86.8244 87.5328 86.2249 87.9623C79.2443 92.9633 78.0344 102.186 73.3445 105.605C59.4522 115.732 51.5891 118.302 52.0768 122.654C52.1109 122.958 52.2745 123.229 52.4935 123.442L82.9367 153.141C100.45 170.226 139.01 172.676 171.298 173.125C172.757 173.146 173.484 171.376 172.44 170.357Z" fill="#00AD46"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M82.9363 153.141C73.3696 143.809 68.9312 125.346 87.2715 87.2725C57.4647 100.593 47.0194 118.103 52.1578 123.116L82.9363 153.141Z" fill="#04D659"/>
+<path d="M170.355 2.10462L88.1451 86.376C87.6301 86.9039 87.5314 87.72 87.9609 88.3195C92.9618 95.3002 102.185 96.5101 105.603 101.2C115.731 115.092 118.301 122.955 122.652 122.468C122.956 122.434 123.227 122.27 123.441 122.051L153.139 91.6077C170.225 74.0942 172.675 35.5346 173.124 3.24627C173.144 1.78719 171.374 1.0601 170.355 2.10462Z" fill="#00C7D4"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M153.14 91.6077C143.807 101.174 125.344 105.613 87.2705 87.2725C100.591 117.079 118.101 127.525 123.114 122.386L153.14 91.6077Z" fill="#11E1EE"/>
+<path d="M2.10315 4.18733L86.3745 86.3973C86.9024 86.9123 87.7185 87.0111 88.3181 86.5816C95.2987 81.5807 96.5086 72.3579 101.198 68.939C115.091 58.8116 122.954 56.242 122.466 51.8902C122.432 51.5862 122.268 51.3152 122.05 51.1016L91.6063 21.403C74.0928 4.31792 35.5331 1.86783 3.2448 1.4185C1.78572 1.39819 1.05863 3.16836 2.10315 4.18733Z" fill="#E43921"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M91.6057 21.4025C101.172 30.7352 105.611 49.1977 87.2705 87.2714C117.077 73.9511 127.523 56.4408 122.384 51.4281L91.6057 21.4025Z" fill="#FF7557"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M21.4025 82.9368C30.7352 73.3701 49.1977 68.9317 87.2714 87.272C73.951 57.4652 56.4408 47.0199 51.4281 52.1583L21.4025 82.9368Z" fill="#0CB6FF"/>
+<circle cx="87.2838" cy="87.2606" r="3.67606" transform="rotate(-0.709386 87.2838 87.2606)" fill="#4A4848"/>
+</g>
+<defs>
+<clipPath id="clip0">
+<rect width="175" height="175" fill="white"/>
+</clipPath>
+</defs>
+</svg>
diff --git a/favicons/pwa-192x192.png b/favicons/pwa-192x192.png
index 1e428c4fdf..52776d4290 100644
Binary files a/favicons/pwa-192x192.png and b/favicons/pwa-192x192.png differ
diff --git a/favicons/pwa-512x512.png b/favicons/pwa-512x512.png
index 2122d4f284..7ee565587a 100644
Binary files a/favicons/pwa-512x512.png and b/favicons/pwa-512x512.png differ
diff --git a/favicons/tile150x150.png b/favicons/tile150x150.png
index f78b6c37d6..cf13bb0a63 100644
Binary files a/favicons/tile150x150.png and b/favicons/tile150x150.png differ
diff --git a/favicons/tile310x150.png b/favicons/tile310x150.png
index f78b6c37d6..cf13bb0a63 100644
Binary files a/favicons/tile310x150.png and b/favicons/tile310x150.png differ
diff --git a/favicons/tile310x310.png b/favicons/tile310x310.png
index bb8070049b..68cef67aa8 100644
Binary files a/favicons/tile310x310.png and b/favicons/tile310x310.png differ
diff --git a/favicons/tile70x70.png b/favicons/tile70x70.png
index f00cb33169..731c43ad69 100644
Binary files a/favicons/tile70x70.png and b/favicons/tile70x70.png differ
diff --git a/index.html b/index.html
index a6defa4603..0e71a5474b 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-02-20T12:06:57+00:00">
+ <meta itemprop="dateModified" content="2026-03-10T01:54:53+00:00">
<meta itemprop="image" content="/images/feature-image.png">
@@ -52,8 +52,8 @@
-<link rel="preload" href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" as="style">
-<link href="/scss/main-custom.min.e5b0bf0fde7fe0b98a56bba27af48c7bd013cc6e9d8e743263b1140893c4e3cb.css" rel="stylesheet" integrity="">
+<link rel="preload" href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" as="style">
+<link href="/scss/main-custom.min.e7ee681c727c8d8df1f500cb5badb1659ab72f6c251d0b5d8eb490ce1196d31c.css" rel="stylesheet" integrity="">
<script
@@ -83,8 +83,8 @@
-<link rel="preload" href="/main.0aea7.js" as="script">
-<link rel="preload" href="/chunk-608.0aea7.js" as="script">
+<link rel="preload" href="/main.d9cd6.js" as="script">
+<link rel="preload" href="/chunk-608.d9cd6.js" as="script">
<link rel="preload" href="/" as="script">
@@ -1553,7 +1553,7 @@ The interactive report is hosted by Astronomer. The Apache Airflow community tha
- <script src="/main.0aea7.js"></script>
+ <script src="/main.d9cd6.js"></script>
</body>
</html>
diff --git a/js/auto-render.min.js b/js/auto-render.min.js
index 7504ac1420..0a1f35df54 100644
--- a/js/auto-render.min.js
+++ b/js/auto-render.min.js
@@ -1 +1 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,function(e){return function(){"use strict";var t={757:function(t){t.exports=e}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,r), [...]
\ No newline at end of file
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,function(e){return function(){"use strict";var t={757:function(t){t.exports=e}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,r), [...]
\ No newline at end of file
diff --git a/js/katex.min.js b/js/katex.min.js
index 2270ffb446..1031b4f341 100644
--- a/js/katex.min.js
+++ b/js/katex.min.js
@@ -1 +1 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.katex=t():e.katex=t()}("undefined"!=typeof self?self:this,function(){return function(){"use strict";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return so}});c [...]
\ No newline at end of file
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.katex=t():e.katex=t()}("undefined"!=typeof self?self:this,function(){return function(){"use strict";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return so}});c [...]
\ No newline at end of file
diff --git a/k8s-schemas/v1.30.13-standalone-strict/clusterrole-rbac-v1.json b/k8s-schemas/v1.30.13-standalone-strict/clusterrole-rbac-v1.json
new file mode 100644
index 0000000000..7f3e0c7e76
--- /dev/null
+++ b/k8s-schemas/v1.30.13-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.30.13-standalone-strict/clusterrolebinding-rbac-v1.json b/k8s-schemas/v1.30.13-standalone-strict/clusterrolebinding-rbac-v1.json
new file mode 100644
index 0000000000..c3734c3507
--- /dev/null
+++ b/k8s-schemas/v1.30.13-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.30.13-standalone-strict/configmap-v1.json b/k8s-schemas/v1.30.13-standalone-strict/configmap-v1.json
new file mode 100644
index 0000000000..fd830aaa1f
--- /dev/null
+++ b/k8s-schemas/v1.30.13-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.30.13-standalone-strict/cronjob-batch-v1.json b/k8s-schemas/v1.30.13-standalone-strict/cronjob-batch-v1.json
new file mode 100644
index 0000000000..4d79a852fc
--- /dev/null
+++ b/k8s-schemas/v1.30.13-standalone-strict/cronjob-batch-v1.json
@@ -0,0 +1,11359 @@
+{
+ "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": {
+ "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": {
+ "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"
+ }
+ },
+ "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 is DefaultProcMount 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": {
+ "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": "Required.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "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": {
+ "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": [
... 402879 lines suppressed ...